.png)
サーバーに来るトラフィックを複製/ミラーリングする必要があります。
つまり、N 台のバックエンド サーバー A1、A2、... An(n>=2) と、リバース プロキシおよびロード バランサーとして nginx があります。
Nginxに来るすべてのトラフィックはAxとAy(x!=y)の両方にリダイレクトされます。平行サーバーの 1 つがダウンした場合 (タイムアウトまたは 5xx)、他のサーバーの応答がすぐに使用され、結果がクライアントに返されます。
トラフィックをミラーリングすることで(再試行しない)重複したリクエストを並列に送信する) を使用すると、冗長性を作成できます。つまり、複数のバックエンド サーバーが同時に 1 つのリクエストを処理できるようになります。
30 ミリ秒以内にクライアントに応答する必要があります。retries=1 に設定すると、タイムアウトを 15 ミリ秒に設定する必要があり (アーカイブするのが困難)、トラフィックをミラーリングすることが解決策になります。
出来ますか?
答え1
あなたの質問には、一般的に答えがほとんどあります。あなたが説明しているのは、ヘルスチェックによる負荷分散だけです。これは間違いなく nginx で可能であり、そのような設定はドキュメントに記載されています。http://nginx.org/en/docs/http/load_balancing.html