nginxのアップストリームでは現在5つの方法の割り当てをサポートしています。
1、ポーリング(デフォルト)
各リクエストは時系列で1つずつ割り当てられます。バックエンドサーバーが停止している場合は、異なるバックエンドサーバーを自動的に選択できます。
2、weight
アクセス確率に比例し、バックエンドサーバーのパフォーマンスに使用されるポーリング確率を指定します。
例:
アップストリームベークエンド{server 192.168.0.14 weight = 10; server 192.168.0.15 weight = 10;}
3、ip_hash
すべてリクエストはaccess ipのハッシュ結果によって割り当てられるため、各訪問者はバックエンドサーバーへの固定アクセス権を持ち、セッションの問題を解決できます。
例:
アップストリームベークエンド{ip_hash;サーバー192.168.0.14:88;サーバー192.168.0.15:80;}
4、公平(第三者)
バックエンドサーバーの応答時間までに、短い応答優先順位で要求を割り当てます。
アップストリームバックエンド{サーバーserver1;サーバーserver2; fair;}
5、url_hash(サードパーティ)
アクセスURLのハッシュ結果によってリクエストを割り当てます。 URLは同じバックエンドサーバーに送信されます。キャッシュされるとより効率的です。
例:上流にハッシュステートメントを追加すると、サーバーステートメントはweightや他のパラメータを書き込めなくなります。hash_methodは使用されているハッシュアルゴリズムです。
上流バックエンド{server squid1:3128; server squid2: 3128; hash $ request_uri; hash_method crc32;}
アップストリームベークエンド{#pf>負荷分散デバイスのデバイスIPステータスとデバイスステータス
ip_hash;サーバー127.0 .0.1:9090 down;サーバー127.0.0.1:8080 weight = 2;サーバー127.0.0.1:6060;サーバー127.0.0.1:7070 backup;}
負荷分散を使用する必要があるサーバーで
proxy_pass http://bakend /;
各デバイスのステータスは次のように設定されます。
1.downは、シングルの前のサーバーが一時的に負荷に参加していないことを意味します。
2 .weightのデフォルトは1です。重量が大きいほど、積荷の重量も大きくなります。
3.max_fails:リクエストの失敗を許可する回数のデフォルトは1です。最大回数を超えると、proxy_next_upstreamモジュールで定義されたエラーが返されます。
4.fail_timeout:max_failsの失敗から経過した時間の回数。
5.backup:他のすべての非バックアップコンピュータが停止またはビジー状態になったら、バックアップコンピュータを要求します。だからこのマシンは最軽量になります。
nginxは、同時に複数の負荷分散をサポートします。これは、未使用のサーバーに使用されます。
client_body_in_file_onlyオンに設定クライアントポストからデバッグのためにファイルにデータレコードについて話すことができます。
client_body_temp_pathログファイルのディレクトリを最大3レベルに設定します。
location URLを一致させる:新しいプロキシロードバランシングをリダイレクトまたは実行する