Hatena::Groupsubtech

#生存戦略 、それは

-> 12 { 07 / 11 }

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

13:43 | はてなブックマーク - リクエストを複製し、2台のサーバ両方にリクエストを飛ばす - #生存戦略 、それは

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

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

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

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

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20120711