Sun Java System Application Server 9.1 高可用性 (HA) 管理ガイド

HTTP ロードバランサの動作

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

HTTP ロードバランサにより、Java EE アプリケーションサーバーに配備されるサービスの高可用性を実現できます。負荷分散処理の間、それまでサービスを提供していたインスタンスが稼働していないか、または正常な状態でないために要求を処理できないことが検出された場合、HTTP ロードバランサはセッション要求を別のサーバーインスタンスにフェイルオーバーします。HTTP セッションの情報を持続させるためには、クラスタプロファイルを使用していること、HADB がインストールされ設定されていること、および、HTTP セッション持続性が設定されていることが必要です。詳細については、第 9 章「高可用性 (HA) セッション持続性とフェイルオーバーの設定」を参照してください。


注 –

ロードバランサは、8K バイトを超える URI や URL を処理しません。


HTTP 負荷分散アルゴリズム

Sun Java System Application Server のロードバランサはデフォルトで、スティッキラウンドロビンアルゴリズムを使用して、着信 HTTP および HTTPS 要求を負荷分散します。

新しい HTTP 要求がロードバランサプラグインに送信されると、単純なラウンドロビンスキーマに基づいてアプリケーションサーバーインスタンスに転送されます。要求がセッションベースのアプリケーションに対するものである場合、これには新しいセッションに対する要求も含まれます。同じセッションベースのアプリケーションに対する同じクライアントからの後続の要求は、割り当て済み要求 (スティッキ要求) と見なされ、ロードバランサによって同じインスタンスにルーティングされます。スティッキ (sticky: 粘着性の) ラウンドロビンという名前が付いているのはそのような理由からです。セッションベースでないアプリケーションへの要求や、セッションベースのアプリケーションに対する最初の要求は未割り当て要求と呼ばれます。スティッキー性は Cookie を使用して、または明示的 URL 書き換えによって実現されます。ロードバランサは、スティッキ度を判断する方法を自動的に決定します。

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

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