|
||||||||||||
| 前のページ 1 2 3 4 次のページ | ||||||||||||
| サーブレットとJSPのクラスタリング | ||||||||||||
|
WebLogic Serverでは、HTTPサーバとプラグインを利用してロードバランシングを実現します。そしてWebLogic Serverのレプリケーション機能を利用することにより、フェールオーバが実現されます。まず、WebLogic ServerがサポートしているHTTPサーバとプラグインの組み合わせを確認します。 |
||||||||||||
表2:HTTPサーバとプラグイン |
||||||||||||
|
これらのプラグインは、HTTPクライアントのリクエストをWebLogic Serverインスタンスに転送します。転送されたWebLogic Serverインスタンスとクライアントの間にはセッションが確立され、クライアントのブラウザにはプライマリとセカンダリのWebLogic Serverインスタンスの位置がCookieに保存されます。 プライマリで障害が発生するとクライアントのセッション情報を利用して、プラグインがセカンダリのWebLogic Serverにリダイレクトします。そして、正常な処理結果をクライアントに返します。 クライアントはサーバの障害の影響を受けることなく処理を継続できます。クラスタ内のWebLogic Serverインスタンスが3台以上存在する場合には、今後のフェールオーバに備えて、更新されたプライマリとセカンダリの情報がCookieに保存されます。 クラスタ内の管理対象サーバが2台の場合は障害の発生したサーバが復旧しない限り、レプリケーションされません。障害の発生したサーバが復旧すると、セカンダリとしてクラスタに参加します。 |
||||||||||||
| Cookieが使えない場合 | ||||||||||||
|
Cookieが無効(HttpServletRequest.isRequestedSessionIdFromCookie()メソッドで確認できる)になっていたり、Wireless Access Protocolに対応したアプリケーションでCookieが使えなかったりする場合には、プライマリとセカンダリの位置がURLに挿入される「URL書き換え」が利用できます。 この方式では、セッションIDがWebページのハイパーリンクにエンコードされ、WebLogic ServerはURLに埋め込まれているIDを利用して、HttpSessionオブジェクトを特定します。この仕組みを利用するためには、"weblogic.xml"の「<session-param>」要素に、URLRewritingEnabledパラメータ(デフォルトはtrue)を設定する必要があります。 この機能が有効になっていて、HttpServletResponse.encodeURL()メソッドを使用していると、URLが書き換えられてセッションIDが追加されます。リダイレクトする場合にも、HttpServletResponse.encodeRedirectUrl()メソッドを使用しているとセッションIDがURLに追加されます。以下に例を示します。 |
||||||||||||
"<a href=\"" + httpServletResponse.encodeURL("dir/sample.jsp") + "\">Sample</a>"
|
||||||||||||
|
加えてURLの長さが制限されている場合には、"weblogic.xml"の「<session-descriptor>」要素でWAPEnabledパラメータやIDLengthパラメータを使用して、セッションIDのサイズを管理することができます。 |
||||||||||||
<session-descriptor>
|
||||||||||||
|
WAPEnabledを設定するとセッションIDのサイズが52文字までに制限され、WAPデバイスでは処理できない特殊文字が使用禁止となります。このオプションを有効にすると、WebアプリケーションがWebLogic Serverのクラスタ機能を使用できなくなることに注意してください。 |
||||||||||||
| HttpSessionのレプリケーション | ||||||||||||
|
WebLogic Serverでは、HttpSessionオブジェクトの永続化方式が複数用意されています。"weblogic.xml"の「<session-descriptor>」要素のPersistentStoreTypeパラメータを設定することで、永続化方式を選択できます。 |
||||||||||||
クラスタ構成にする場合は、「インメモリレプリケーション」を永続化方式として選択します。WebLogic Serverのレプリケーションは、プライマリとセカンダリのサーバ間で行われるprimary-secondary方式です(「第2回:Tomcatのクラスタ設定」参照)。レプリケーション時の動作を以下に解説します。![]() 図1:レプリケーション時の動作
表4:レプリケーション時の動作
|
||||||||||||
|
前のページ 1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||



