1. ポーリング (デフォルト)
各リクエストは時系列に 1 つずつ異なるバックエンド サーバーに割り当てられ、バックエンド サーバーがダウンした場合は自動的に削除されます。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
2. 重みを指定します。
ポーリング確率を指定します。重みはアクセス率に比例し、バックエンドサーバーのパフォーマンスが不均一な場合に使用されます。 。
アップストリームバックサーバー{
サーバー192.168.0.14weight=10;
server 192.168.0.15weight=10;
}
3. IPバインディングip_hash
各リクエストはアクセスIPのハッシュ結果に従って割り当てられるため、各訪問者は固定アクセスバックエンドサーバーはセッションの問題を解決できます。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
4. フェア(サードパーティ)
バックエンドサーバーの応答時間、応答時間に応じてリクエストを割り当てます。短い優先度の割り当て。
アップストリームバックサーバー{
サーバーサーバー1;
サーバーサーバー2;
フェア;
}
5. url_hash (サードパーティ)
各URLが同じバックエンドサーバーに向けられるように、アクセスされたURLのハッシュ結果に従ってリクエストを分散します。エンドサーバーがキャッシュされている場合、より効果的です。
アップストリーム バックサーバー {
serverいかが1:3128;
サーバーsquid2:3128;
hash $request_uri;
hash_method crc32;
}
負荷分散を使用する必要があるサーバーに、
proxy_pass http://backserver/; を追加します。
アップストリーム バックサーバー{
ip_hash;
サーバー 127.0.0.1:9090 ダウン; (ダウンとは、前のサーバーが一時的に負荷に参加していないことを意味します)
サーバー 127.0.0.1:8080 重み = 2 (重みのデフォルトは 1。重量、負荷の重量が大きくなるほど)
server 127.0.0.1:6060;
server 127.0.0.1:7070 バックアップ (他のすべての非バックアップ マシンがダウンしているかビジー状態の場合、バックアップ マシンが要求されます) )
}
max_fails: 許可されるリクエスト失敗回数はデフォルトで 1 です。最大回数を超えると、proxy_next_upstream モジュールで定義されたエラーが返されます
fail_timeout: max_fails 失敗後の一時停止時間
上記は、内容の側面も含めて nginx クラスターのクライアント割り当て戦略を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。