Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

ロードバランサの動作

ロードバランサの目的は、スタンドアロンまたはクラスタ化された複数の Application Server インスタンスの間でワークロードを均等に分散させ、それにより、システムの全体的なスループットを向上させることです。

ロードバランサを使用しても、1 つのインスタンスから別のインスタンスへのフェイルオーバーを要求できます。HTTP セッションの情報を持続させるために、HTTP セッションの持続性を設定します。詳細については、第 8 章「高可用性 (HA) セッション持続性とフェイルオーバーの設定」を参照してください。

負荷分散の設定に関する完全な手順については、『Sun Java System Application Server 高可用性 (HA) 管理ガイド』を参照してください。

管理コンソールではなく、asadmin ツールを使用して、HTTP 負荷分散を設定します。

関連項目

割り当て要求と非割り当て要求

最初に HTTP クライアントからロードバランサに要求が入ってきた時点で、その要求は新規セッションの要求となります。新しいセッションに対する要求は、非割り当て要求と呼ばれます。ロードバランサはこの要求を、ラウンドロビンアルゴリズムに従って、クラスタ内のアプリケーションサーバーインスタンスにルーティングします。

セッションがアプリケーションサーバーインスタンスに作成されると、ロードバランサは、そのセッションに関するすべての後続要求を特定のインスタンスにだけルーティングします。既存のセッションに対する要求は、割り当てまたはスティッキ要求と呼ばれます。

HTTP 負荷分散アルゴリズム

Sun Java System Application Server のロードバランサは、スティッキラウンドロビンアルゴリズムを使用して、着信 HTTP および HTTPS 要求を負荷分散します。特定のセッションに対するすべての要求は、同じアプリケーションサーバーインスタンスに送信されます。スティッキロードバランサでは、セッションデータは、クラスタ内の全インスタンスに分散されるのではなく、単一のアプリケーションサーバーにキャッシュされます。

したがって、スティッキラウンドロビンスキーマでは、パフォーマンス上、大きなメリットが得られます。これは、純粋なラウンドロビン方式による、より均一化された分散負荷によるメリット以上のものです。

新しい HTTP 要求がロードバランサプラグインに送信されると、単純なラウンドロビンスキーマに基づいてアプリケーションサーバーインスタンスに転送されます。次にこの要求は、Cookie または URL を明示的に書き換えることによって、この特定のアプリケーションサーバーに「固定」されます。

スティッキ情報から、ロードバランサプラグインは、まず、以前に要求が転送されたインスタンスを判断します。そのインスタンスが正常であるとわかると、ロードバランサプラグインは、要求をその特定のアプリケーションサーバーインスタンスに転送します。したがって、特定のセッションに対するすべての要求が同じアプリケーションサーバーインスタンスに送信されます。

ロードバランサプラグインは次の方法を使ってセッションのスティッキ度を判断します。

サンプルアプリケーション

次のディレクトリには、負荷分散とフェイルオーバーを示すサンプルアプリケーションが含まれています。

install_dir/samples/ee-samples/highavailability
install_dir/samples/ee-samples/failover

ee-samples ディレクトリには、サンプルを実行する環境を設定するための情報も含まれています。