Load Balancer は、着信クライアント要求をサーバー間で分散させるためのソフトウェア・ソリューションです。これは、TCP/IP セッション要求をサーバー・グループ内の各サーバーに指図することによって、サーバーのパフォーマンスを高め、これによりすべてのサーバー間における要求を平衡化します。このロード・バランシングは、ユーザーや他のアプリケーションに透過的に行われます。Load Balancer は、
e-mail サーバー、World Wide Web サーバー、分散並列データベース照会などのアプリケーションや、
その他の TCP/IP アプリケーションに有効です。
Load Balancer を Web サーバーで使用すると、ピーク需要の問題に関する、強力で、柔軟性があり、
拡張が容易な解決策が提供され、ユーザー・サイトの潜在能力が最大化します。
最大需要時にビジターがサイトにアクセスできないような場合、
Load Balancer を使用すると受信要求の処理に最適なサーバーが自動的に検出されるので、
顧客満足度と収益性が向上します。
Load Balancer を使用する利点
グローバル・インターネットに接続されたユーザーおよびネットワークの数は急速に増えています。この増加現象によって
スケーラビリティーの問題が生じ、人気サイトへのユーザー・アクセスが制限されることがあります。現在、ネットワーク管理者は、アクセスの最大化を図るためにいろいろなメソッドを使用しています。それらメソッドの中に
は、最初に選択した処理が遅かったり応答しなかったりした場合に、別のサーバーを無作為に選択できるようにするものもあります。
この方法は面倒で、いらいらさせ、非効率です。この他に標準ラウンドロビン・メソッドもあり、この場合は、ドメイン・ネーム・サーバーが要求処理のためのサーバーを順番に選択します。この方法は前にあげた方法よりも優れてはいますが、サーバー作業負荷を考慮に入れないでトラフィックを
転送するという理由から、やはり非効率です。さらに、サーバーが失敗しても、要求は引き続きそこへ送信されます。
Load Balancer は、さらに強力な解決策が必要であるというニーズから作成されました。これは、従来の競合する解決策に比べ、数多くの利点を備えています。
- スケーラビリティー: クライアント要求の増加に合わせて、サーバーを動的に追加して、
何十台、何百台に及ぶサーバーで 1 日当たり何千万という要求に対するサポートを提供することができます。
- 装置の効率的な使用: ロード・バランシングは、標準ラウンドロビン・メソッド
の場合に頻繁に起こるホット・スポットを最小化することにより、各サーバー・グループがそれぞれのハードウェア
を最適に使用できるようにします。
- 容易な組み込み: Load Balancer は、標準の TCP/IP プロトコルを使用します。
既存のネットワークに物理的な変更を加えることなく、そのネットワークにこれを追加できます。これのインストールと構成は簡単です。
- 低いオーバーヘッド: Dispatcher コンポーネントは、簡単な MAC レベル転送方式を使用することにより、
クライアントからサーバーへのインバウンド・フローのみをモニターします。サーバーからクライアントへのアウトバウンド・フローをモニターする必要はありません。このために他の方法に比べてアプリケーションに対する影響を大幅に軽減し、ネットワーク・パフォーマンスを向上させることができます。
- ハイ・ アベイラビリティー: Dispatcher コンポーネントは組み込みのハイ・ アベイラビリティーを提供します。これは、プライマリー・サーバー・マシンに
障害が発生した場合に、いつでもロード・バランシングを引き継げるようになっている
バックアップ・マシンを使用することにより実現します。
サーバーの 1 つに障害が発生した場合、要求へのサービス提供は別のサーバーによって継続されます。
このプロセスによってサーバーが Single Point of Failure ではなくなるため、
サイトのハイ・ アベイラビリティーが実現されます。
- クライアントからサーバーへのアフィニティー: アフィニティー機能は、
クライアント IP アドレスをバックエンド・サーバーにマップします。この方法は、従来の接続転送に比べて、メモリー使用量および CPU 使用率が低く、より高い効率が得られます。
- プライベート・ネットワークのロード・バランシング:
プライベート・ネットワークを使用する Dispatcher および TCP サーバー・マシンを
セットアップすることができます。この構成によって、パフォーマンスに影響を与える可能性がある公衆ネットワークや外部ネットワークでの競合を削減することができます。
- Load Balancer を使用したサーバーの管理方法の習得。
Load Balancer は、ロード・バランシングと管理ソフトウェアの固有の組み合わせにより、
サーバー間のトラフィックを平衡化します。Dispatcher マシンに送信されるすべてのクライアント要求は、
動的に設定される重みに従って「最適な」サーバーに送信されます。
これらの重みに対してデフォルト値を使用することもできますし、構成プロセス時にこれらの値を変更することもできます。
また、Dispatcher は、障害が発生したサーバーを検出し、そのサーバーを避けてトラフィックを転送することもできます。
Dispatcher は、
HTTP、FTP、SSL、SMTP、NNTP、IMAP、POP3、Telnet、SIP、およびその他の TCP ベースの
アプリケーションをサポートします。
Load Balancer は、大規模で拡張が容易なサーバー・ネットワークを安定的、効率的に管理するためのキーとなります。多数の個別サーバーをリンクして、外観上単一に見える仮想サーバーを作ることができます。サイトは単一の IP アドレスとして表示されます。Dispatcher は、ドメイン・ネーム・サーバーから独立して機能します。
つまり、すべての要求は、Dispatcher マシンの IP アドレスに送信されます。
Dispatcher は、クラスター・サーバーへのトラフィック負荷の平衡化において明確な利点を
もたらします。これにより、サイトを安定的かつ効率的に管理できるようになります。