Load Balancer
の主要な機能は、相互に対話し、またサーバー構成とも対話して、ご使用の環境でのネットワーク・トラフィック
を平衡化させることです。
Dispatcher は以下の機能から構成されています。
- dsserver は、コマンド行から executor、manager、および advisor への要求を処理します。
- executor は、TCP 接続のポートに基づくロード・バランシングをサポートします。
これにより、受信した要求のタイプ (例えば HTTP、FTP、SSL など) に基づいて、接続をサーバーに転送できます。executor
は、Dispatcher
コンポーネントがロード・バランシングに使用されるときにはいつでも実行されます。
- manager は、以下に基づいて、executor が使用する重みを設定します。
- executor の内部カウンター
- advisor によって提供されるサーバーからのフィードバック
- Metric Server や WLM など、システム・モニター・プログラムからのフィードバック。manager の使用はオプションです。ただし、manager を使用しない場合は、現行サーバーの重みに基づいて
重み付きラウンドロビン・スケジューリングを使用してロード・バランシングが行われ、advisor は使用できません。
- advisor はサーバーを照会し、プロトコルごとに結果を分析してから、manager を呼び出して適切な重みを設定します。現在、HTTP、FTP、SSL、SMTP、NNTP、IMAP、POP3、SIP、
および Telnet のプロトコルで使用可能な advisor があります。
また、Dispatcher は、プロトコル固有の情報を交換しない advisor (例えば、DB2 サーバーの状態を
報告する DB2 advisor や、サーバーが ping
に応答するかどうかを報告する ping advisor など) も提供しています。
advisor の完全なリストについては、advisor のリストを参照してください。
またオプションで、ユーザー独自の advisor を作成することもできます
(カスタム advisor の作成を参照してください)。
advisor の使用はオプションですが、使用することをお勧めします。
- executor、advisor、および manager を構成および管理するには、コマンド行 (dscontrol) またはグラフィカル・ユーザー・インターフェース (lbadmin) を使用してください。
Dispatcher の 3 つの主要な機能 (executor、manager、および advisor) は相互に対話して、
サーバー間の受信要求を平衡化して、ディスパッチします。
ロード・バランシング要求とともに、executor は新規の接続、活動中の接続、および終了状態の接続の数をモニターします。また、executor は完了またはリセットした接続のガーベッジ・コレクションも実行し、この情報を manager に提供します。
manager は、executor、advisor、およびシステム・モニター・プログラム (例えば Metric Server)
から情報を収集します。manager は、受け取った情報に基づいて、各ポートでのサーバー・マシンの重み付けの方法を調整し、新規接続の平衡化で使用する新規の重み値を executor に指定します。
advisor は、割り当てられたポート上で各サーバーをモニターしてサーバーの応答時間と可用性を決定してから、
この情報を manager に提供します。advisor も、サーバーが起動しているかいないかをモニターします。manager および advisor がないと、executor は、現行サーバーの重み付けに基づいてラウンドロビン・スケジューリングを行います。