Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

6.7.4 URL書き換えによって制御する場合の負荷分散

ここでは,URL書き換えによってグローバルセッションを制御する場合に,負荷分散機で負荷分散を実現する方法について説明します。

HTTP Cookieを使用できないWebクライアントを使用する場合,負荷分散をするときにセッションを継続するための方法として,次のような方法があります。

それぞれの方法について説明します。

<この項の構成>
(1) サーバが埋め込む識別情報によるセッションの継続
(2) HTTPリクエストに含まれるクライアント個別の識別情報によるセッションの継続

(1) サーバが埋め込む識別情報によるセッションの継続

Webサーバまたはアプリケーションサーバがコンテンツに埋め込む識別情報を使用して,振り分け先を決め,セッションを継続する方法です。負荷分散機には,この識別情報を基にリクエストの振り分け先のサーバを決めるように設定します。

サーバが埋め込む識別情報は,一般的に次のフィールドに設定されます。

メモリセッションフェイルオーバ機能を使用している場合,識別情報として,サーバIDを使用できます。サーバIDを識別情報として使用する場合,アプリケーションの実装を変更しなくても,負荷分散時のセッションの継続が実現できます。サーバIDは,セッションIDの構成要素です。URLのパスパラメタに含まれています。サーバIDについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.7.6 セッションIDおよびCookieへのサーバIDの付加」を参照してください。

なお,サーバID以外を識別情報として使用する場合は,識別情報をコンテンツに埋め込む処理をアプリケーションで作りこむ必要があります。

サーバが埋め込む識別情報を使用して負荷分散を実行する処理の概要を次の図に示します。

図6-16 サーバが埋め込む識別情報を使用した負荷分散の概要

[図データ]

クライアント1は,リクエストを送信するときに,サーバ1から送信された識別情報をリクエストヘッダに含めて送信します。負荷分散機は,この識別情報を基に,振り分け先のサーバを選択します。これによって,セッションを継続できます。

(2) HTTPリクエストに含まれるクライアント個別の識別情報によるセッションの継続

Webクライアントが送信するクライアント個別の識別情報に基づいて,振り分け先を決め,セッションを継続する方法です。負荷分散機には,この識別情報を基にリクエストの振り分け先のサーバを決めるように設定します。

クライアント個別の識別情報は,一般的に次のフィールドに設定されます。

なお,この方法を使用する場合,クライアント側の設定で,クライアント個別の識別情報をリクエストと同時に送信するように設定しておく必要があります。

クライアントの個別識別情報を使用して負荷分散を実行する処理の概要を次の図に示します。

図6-17 クライアントの個別識別情報を使用した負荷分散の概要

[図データ]

クライアント1は,リクエストを送信するときに,クライアント固有の識別情報をUser-Agentヘッダに含めて送信します。負荷分散機は,この識別情報を基に,振り分け先のサーバを選択します。これによって,セッションを継続できます。