リクエストを複製し、2台のサーバ両方にリクエストを飛ばす
リクエストを複製し、2台のサーバ両方にリクエストを飛ばす
リクエストを複製し、2台のサーバ両方にリクエストを飛ばすし、片方のサーバのレスポンスを返却することで、2台のサーバどちらとも正常にリクエストを処理できるか、というテストに役立てることができる。
production (正常に動いている) サーバのレスポンスを返せば、ユーザは特に問題なくサービスを利用でき、もう一台のテストサーバ(write 等は全部無視orダミーに飛ばす)ではエラーチェック等行うことができる。どんなときに役に立つかというと、大規模なフレームワークやライブラリのバージョンを上げた時、テスト(テスティングフレームワークのテストのこと)だけだと発見できない問題を、実リクエストを発行することにより調べることができる。
具体的なやり方は、一個 proxy を建てて振り分ければ良い。Ruby なら em-proxy の以下の example コードにちょっと手を入れるだけで実現できるだろう。
意識の高いリーンエンジニアからやり方書いてよ!って言われたので書きました。