nginx を使用して簡単な負荷分散を実装します。構成は次のとおりです
リーリー現在の問題: 両方の Tomcat が正常であれば、nginx は指定されたサーバーにリクエストを正常に分散できます。ポーリングを使用すると、重み付けも機能しますが、どちらかの Tomcat がオフになっている場合、 nginx によって障害が発生したサーバーにリクエストが分散されるため、リクエストはスタックします。この状況に対処する方法はありますか? ngxin には対応する解決策がありますか? nginx がクラスターサーバーの実行ステータスを監視する方法はありますか?設定方法は?
upstream には、max_fails とfail_timeout の 2 つのパラメータがあります。特定のサーバーで、fail_timeout 時間内に max_fails 回の接続エラーが発生した場合、Nginx はハングアップしたと判断し、fail_timeout 時間中はリクエストを行いません。
fail_timeout のデフォルトは 10 秒、max_fails のデフォルトは 1 です。
さらに、バックエンドサーバーの健全性を検出するために特別に使用されるサードパーティモジュールnginx_upstream_check_moduleがあります
。
yaoweibin/nginx_upstream_check_module: nginx のアップストリームのヘルスチェック
https://github.com/yaoweibin/...
セッションを Redis に保存するために ip_hash を使用する必要はありません