Nginx のアップストリームで現在サポートされている割り当てアルゴリズム:
1. リクエストを順番に処理する 1:1 のラウンドロビン ポーリング (デフォルト)
各リクエストは 1 つずつ処理されます。 1 つは時系列順に異なるアプリケーション サーバーに割り当てられ、アプリケーション サーバーがダウンした場合は自動的に削除され、残りのアプリケーション サーバーは引き続きポーリングされます。
2. 重み付け (重み付けポーリング)
重み付けを設定することで、アクセス率に比例したポーリング確率を指定し、アプリケーションサーバーのパフォーマンスのばらつきを防止するために使用されます。
3. ip_hash ハッシュ アルゴリズム
各リクエストはアクセスされた IP のハッシュ結果に従って割り当てられるため、各訪問者はアプリケーション サーバーに固定的にアクセスでき、セッション共有の問題を解決できます。アプリケーション サーバーに障害が発生した場合は、手動でシャットダウンする必要があります。
パラメータの意味:
down: 以前のサーバーが一時的に負荷に参加しないことを示します。
weight: デフォルトは 1 です。重みが大きいほど、負荷の重みも大きくなります。
max_fails: 許可されるリクエストの失敗数のデフォルトは 1 です。最大数を超えると、proxy_next_upstream モジュールによって定義されたエラーが返されます。
fail_timeout: max_fails 回の失敗後の一時停止時間。
backup: 他のすべての非バックアップ マシンがダウンしているかビジー状態の場合、バックアップ マシンを要求します。
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } }
upstream tg-t4 { server 10.0.0.110:8099 weight=2; server 10.0.0.110:8098 weight=5; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } }
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098; ip_hash; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } }
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098 backup; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } }
upstream tg-t4 { server 10.0.0.110:8099 weight=1 max_fails=2 fail_timeout=2; server 10.0.0.110:8098 weight=3 max_fails=2 fail_timeout=2 backup; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } }
以上がnginx で負荷分散ポーリング構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。