Dispatcher コンポーネントには、組み込みの HA 機能が提供されており、 ユーザー・ネットワークで Dispatcher が Single Point of Failure とならないようにします。 この機能には、2 番目の Dispatcher マシンを使用して、メインの (つまりプライマリー) マシンをモニターし、プライマリー・マシンが失敗した場合にいつでも ロード・バランシングのタスクを引き継げるように待機する機能が含まれます。
Load Balancer Dispatcher コンポーネントは、WebSphere Application Server などのコンテンツ・ホストとともに機能して、ネットワークの可用性およびスケーラビリティー を強化させることができます。 Load Balancer は、エンタープライズ・ネットワークで使用され、インターネットと、エンタープライズのバックエンド・サーバーの間にインストールされます。
大量の要求や大量のコンテンツがあるためにエンタープライズが複数のバックエンド・サーバーを使用する場合でも、 Load Balancer は、インターネット上でエンタープライズの Single Point-of-Presence として動作します。 可用性は、複数のコンテンツ・ホストのロード・バランシングおよびフェイルオーバー・サポートによって実現されています。
複数のホスト上にコンテンツを 複写することで、大量の要求を満たすことが可能ですが、それらの間の負荷のバランスをとる手段が必要です。 ドメイン・ネーム・サービス (DNS) では、基本的なラウンドロビン・ロード・バランシングが提供されますが、 ロード・バランシングがうまく実現されない状況も存在します。
複数のコンテンツ・ホストをロード・バランシングを行うための より洗練されたソリューションは、Dispatcher コンポーネントを使用することです。 以下にその概要を示します。
凡例: 1--クライアント
2--インターネット 3--ルーター/ゲートウェイ 4--Dispatcher 5--コンテンツ・ホスト
この構成では、すべてのコンテンツ・ホスト (5 というマークが付いているマシン) で、同じコンテンツを保管します。 これらは、ロード・バランスがとれたクラスターを形成するように定義され、Load Balancer マシン (4) のネットワーク・インターフェースの 1 つには、そのクラスター専用の ホスト名および IP アドレスが割り当てられます。 1 というマークが付いたマシンの 1 つで作業するエンド・ユーザーがファイル X を要求すると、その要求はインターネット (2) を経由し、エンタープライズの内部ネットワークにそのインターネット・ゲートウェイ (3) から入ります。 URL は Dispatcher のホスト名および IP アドレスに マップされるため、Dispatcher は、その要求をインターセプトします。Dispatcher は、クラスターのコンテンツ・ホストのうちいずれが現在、その要求へ最善のサービス提供ができるかを判別し、 そのホストに要求を転送します。 そのホストがファイル X を直接、クライアントに戻します (つまり、ファイル X は Load Balancer を経由しません)。
Dispatcher は、重み付きラウンドロビン・ロード・バランシングをデフォルトで使用しますが、DNS の欠点の多くが解消されます。DNS とは異なり、コンテンツ・ホストが使用不可であるのか、アクセス不能であるのかをトラッキングし、 使用不可のコンテンツ・ホストへ引き続き、クライアントを送ることはしません。 さらに、新規の接続、活動中の接続、および終了した接続をトラッキングすることで、 コンテンツ・ホスト上での現在の負荷についても考慮します。 Load Balancer のオプションである advisor コンポーネントおよび manager コンポーネントをアクティブ化すれば、ロード・バランシングをよりいっそう最適化することができます。 これらのコンポーネントでは、コンテンツ・ホストの状況についてさらに正確なトラッキング が実行され、その追加情報がロード・バランシングの決定プロセスに取り込まれます。 manager では、決定プロセスで使用されるさまざまな因子に異なる重みを割り当てることができるので、 ご使用のサイトでのロード・バランシングをさらにカスタマイズできます。
Load Balancer は、エンタープライズのコンテンツ・ホストの Single Point-of-Presence として動作します。このことの利点は、 各コンテンツ・ホストのホスト名とアドレスではなく、 DNS でクラスター・ホスト名とアドレスを公示することにあります。 これにより、日常的なアタックに対する保護レベルが提供され、エンタープライズの Web サイトに統合された感覚が提供されます。 Web サイトの可用性をいっそう向上させるには、以下に説明するように、プライマリー Load Balancer のバックアップとして動作する別の Load Balancer を構成します。 1 つの Load Balancer が失敗したり、ネットワーク障害のためにアクセス不能になった場合でも、 エンド・ユーザーはコンテンツ・ホストに到達できます。
凡例: 1--クライアント 2--インターネット
3--ルーター/ゲートウェイ 4--プライマリー Dispatcher 5--バックアップ
Dispatcher 6--コンテンツ・ホスト
通常のケースでは、1 というマークが付いたマシンの 1 つで実行中のブラウザーが、ファイル X に対するその要求を、プライマリー Load Balancer (4) にマップされているクラスター・ホスト名に送ります。 Dispatcher は、Dispatcher のロード・バランシング基準を基にして選択されたコンテンツ・ホスト (6) に、その要求を送付します。 コンテンツ・ホストはファイル X を直接、ブラウザーに送信し、インターネット (2) を使ってエンタープライズのゲートウェイ (3) 経由でファイルをルーティングしますが、 Load Balancer は迂回します。 バックアップ Dispatcher (5) は、プライマリー Dispatcher が動作可能であるかぎり、ロード・バランシングを実行しません。 プライマリー Dispatcher とバックアップ Dispatcher は、ハートビートと呼ばれるメッセージを定期的に交換して、 互いの状況をトラッキングします。 バックアップ Dispatcher は、プライマリー Dispatcher に障害が発生したことを検出すると、プライマリーのクラスター・ホスト名および IP アドレスに送られた要求をインターセプトして、ロード・バランシングの任務を自動的に引き継ぎます。