A Day in the Life

リクエストを複製し、2台のサーバ両方にリクエストを飛ばす

リクエストを複製し、2台のサーバ両方にリクエストを飛ばす

リクエストを複製し、2台のサーバ両方にリクエストを飛ばすし、片方のサーバのレスポンスを返却することで、2台のサーバどちらとも正常にリクエストを処理できるか、というテストに役立てることができる。

production (正常に動いている) サーバのレスポンスを返せば、ユーザは特に問題なくサービスを利用でき、もう一台のテストサーバ(write 等は全部無視orダミーに飛ばす)ではエラーチェック等行うことができる。どんなときに役に立つかというと、大規模なフレームワークやライブラリのバージョンを上げた時、テスト(テスティングフレームワークのテストのこと)だけだと発見できない問題を、実リクエストを発行することにより調べることができる。

具体的なやり方は、一個 proxy を建てて振り分ければ良い。Ruby なら em-proxy の以下の example コードにちょっと手を入れるだけで実現できるだろう。

意識の高いリーンエンジニアからやり方書いてよ!って言われたので書きました。

記事の一覧 >

関連するかもエントリー

例えば GC を止める・Ruby ウェブアプリケーションの高速化
最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですがRails 2.3 -> 3 移行はクックパッド規模になるとかなり大変でしたが、いろいろな面白いアプローチを試せたので、これはこれで何処かでお話ししたいですね、リ...
最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですがRails 2.3 -...
さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料
本日行われた Shibuya.js の発表資料をアップしました。さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料View more presentations from hotchpotchJS のテスティングフレームワークのおおざ...
本日行われた Shibuya.js の発表資料をアップしました。さいきんの JavaScript テスト / Test.js - Shibu...