Nginxのロードバランシングの調整可能なパラメータを教えてください
nginxのロードバランサーで設定できるパラメータは以下のとおりです。
- ロードバランサーで利用可能なバックエンドサーバーのグループを定義します。IPアドレス、ホスト名、ドメイン名などでバックエンドサーバーを指定できます。
- サーバー:IPアドレス、ポート番号などを指定できる、バックエンドのサーバーを定義します。
- バックエンドサーバーの重み付けの設定、デフォルトは 1。nginx は重み付けの大きさに基づいて、より多くのリクエストを重み付けの高いサーバーに分散させます。
- max_fails: 一定時間内に許可される最大失敗回数。この回数を上回ると、nginx はそのサーバーをダウンとみなし、当面そのサーバーにリダイレクトするリクエストを処理しません。
- fail_timeout: 一定時間以内に連続してエラーが発生した場合に許容される最大のtimeout時間です。サーバーがこの時間以内にmax_failsの値を超えた場合、nginxはサーバーをダウンとしてマークします。
- 冗長(ジョウチョウ):リクエストを通常サーバーがすべて使用不可になった場合のみ冗長サーバーに転送する構成にすること。
- ダウン:サーバーの手動的な設定を無効にする。
- クライアントのIPに基づいてロードバランシングを行い、同じクライアントからのリクエストはすべて同じバックエンドサーバーに転送され、セッションの一貫性を保ちます。
- least_conn:サーバーの現在の接続数に応じて負荷分散を行い、接続数が最も少ないサーバーにリクエストを転送します。
- リクエストの特定のフィールドに基づいてロードバランシングを行い、同じフィールドのリクエストを同一のバックエンドサーバーに転送することで、ある種のビジネスロジックの一貫性を保つことができます。
- keepalive:バックエンドサーバとの接続のkeep-aliveタイムアウト時間を定義します。
以上は一般的な nginx のロードバランシングパラメータで、ニーズに合わせて調整できます。