• 検索結果がありません。

A WebLogic クラスタの API

ドキュメント内 cluster.book (ページ 187-192)

以下の節では、WebLogic クラスタ API について説明します。

API の使い方

カスタム呼び出しルーティングと連結の最適化

API の使い方

WebLogic

クラスタの公開 API は、単一インタフェース

weblogic.rmi.cluster.CallRouterに含まれています。

Class java.lang.Object

Interface weblogic.rmi.cluster.CallRouter (extends java.io.Serializable)

パラメータベースのルーティングを可能にするには、このインタフェースを実装 するクラスを RMI コンパイラ (rmic

) に与えなければなりません。以下のオプ

ションを使って ( すべて 1 行に入力します )、サービス実装時に rmicを実行しま す。

$ java weblogic.rmic -clusterable -callRouter <callRouterClass> <remoteObjectClass>

リモート メッセージが呼び出されるたびに、クラスタ化可能なスタブからコー ル ルータを呼び出します。コール ルータは、その呼び出しの宛先のサーバの名 前を返します。

クラスタ内の各サーバは、WebLogic Server Console で定義された名前でユニー クに識別されます。これらの名前は、メソッド ルータがサーバを識別するため の名前となります。

例 : ExampleImplというクラスを例に説明します。このクラスは、メソッド foo でリモート インタフェース Example を実装します。

public class ExampleImpl implements Example { public void foo(String arg) { return arg; } }

この CallRouterを実装した ExampleRouterでは、'arg' < "n" の場合にすべての foo

呼び出しが server1 (server1 に届かない場合は server3) に送られ、'arg' > "n"

の場合にすべての呼び出しが server2 (server2 に届かない場合は server3) に送られ ます。

public class ExampleRouter implements CallRouter {

private static final String[] aToM = { "server1", "server3" };

private static final String[] nToZ = { "server2", "server3" };

public String[] getServerList(Method m, Object[] params) { if (m.GetName().equals("foo")) {

if (((String)params[0]).charAt(0) < 'n') { return aToM;

} else {

return nToZ;

} } else {

return null;

} } }

次の rmic呼び出しは、ExampleRouterと ExampleImplを関連付けて、パラ メータベースのルーティングを有効にします。

$ rmic -clusterable -callRouter ExampleRouter ExampleImpl

カスタム呼び出しルーティングと連結の最適化

オブジェクトがレプリカを呼び出している同じサーバ インスタンス上にレプリ カがある場合、ローカル レプリカを使用する方が効率的なので、その呼び出し はロード バランシングの対象にはなりません。詳細については、4-9 ページの

「連結されたオブジェクトの最適化」を参照してください。

B ク ラス タに関する BIG-IP™ ハー ド ウ ェ アのコ ン フ ィ グレーシ ョ ン

こ の章の内容は以下の と お り です。

概要

BIG-IP および WebLogic Server の使用時に URL 書き換え を利用する

BIG-IP および WebLogic Server の使用時にセ ッ ショ ンの永続性を利用する

概要

こ の節では、 WebLogic Server ク ラ ス タ で動作する よ う に F5 BIG-IP コ ン ト ロー ラ を コ ン フ ィ グ レーショ ンする方法について説明し ます。 こ こ では、 読者が

BIG-IP

の コ ン フ ィ グ レーショ ン作業を理解し てい る こ と を前提に し ています。

BIG-IP

の コ ン フ ィ グ レーショ ン手順の一部については、 順を追っ て説明し ます。

設定および管理の詳細な手順については、 F5 製品のマニ ュ アルを参照し て く だ さ い。

WebLogic Server

が外部ロー ド バ ラ ンサ と どの よ う に連携し て動作するかについ ては、4-3 ページの 「外部ロー ド バ ラ ンサに よ る HTTP セ ッ シ ョ ンの ロー ド バ ラ ンシング」 を参照し て く だ さ い。

BIG-IP および WebLogic Server の使用時 に URL 書き換えを利用する

BIG-IP

および WebLogic Server イ ン ス タ ン ス を使用し てい る場合に URL 書き換 え を利用する には、 BIG-IP がバージ ョ ン 4.5 以降、 すなわち Rewrite cookie persistenceに コ ン フ ィ グ レーショ ン さ れた も のであ る必要があ り ます。 BIG-IP の永続性の設定がそれ以外の場合、 フ ェ イ ルオーバが成功し ない こ と も あ り ま す。

URL

書き換え を利用する よ う に WebLogic Server を コ ン フ ィ グ レーシ ョ ンする手 順については、 『Web アプ リ ケーシ ョ ンのアセンブル と コ ン フ ィ グ レーシ ョ ン』

の 「URL 書き換えの使い方」 を参照し て く だ さ い。

BIG-IP および WebLogic Server の使用時 にセ ッ シ ョ ンの永続性を利用する

ク ラ ス タ が ク ラ イ アン ト セ ッ シ ョ ンのス テー ト 用に イ ン メ モ リ レプ リ ケーショ ン を使用する場合、 ク ッ キーの挿入モー ド を使用する よ う BIG-IP を コ ン フ ィ グ レーショ ン し なければな り ません。 挿入モー ド を使用する と 、 元の WebLogic

Server

ク ッ キーが上書き さ れる こ と がな く な る ので、 ク ラ イ アン ト がプ ラ イ マ リ

WebLogic Server

に接続で き なかっ た場合にその ク ッ キーを使用でき ます。

BIG-IP

ク ッ キーの挿入モー ド を コ ン フ ィ グ レーショ ンするには次の手順に従い ます。

1. BIG-IP

コ ン フ ィ グ レーシ ョ ン ユーテ ィ リ テ ィ を開き ます。

2.

ナビゲーショ ン ペイ ンで [Pools] オプショ ン を選択し ます。

3.

コ ン フ ィ グ レーシ ョ ンするプールを選択し ます。

4. [Persistence]

タ ブを選択し ます。

5. [Active HTTP Cookie]

を選択し て、 ク ッ キーの コ ン フ ィ グ レーショ ン を開始

BIG-IP

お よ び

WebLogic Server

の使用時にセ ッ シ ョ ンの永続性 を利用す る

6.

方法 リ ス ト か ら [ Insert mode] を選択し ます。

7.

ク ッ キーの タ イ ムア ウ ト 値を入力し ます。 タ イ ムア ウ ト 値は、 挿入 さ れた ク ッ キーが有効期限切れにな る ま で ク ラ イ アン ト に保存さ れ る時間を指定 し ます。 タ イ ムア ウ ト 値は WebLogic Server セ ッ ショ ンの ク ッ キーには影響せ ず、 挿入さ れる BIG-IP ク ッ キーについてのみ有効です。

ラ ウ ン ド ロ ビ ン方式に基づいた リ ク エス ト を ロー ド バ ラ ンシ ングするには、

タ イ ムア ウ ト 値を 0 に設定し ます。 こ れに よ り 、 ラ ウ ン ド ロ ビ ン方式に従っ て、 同じ ク ラ イ アン ト か ら の複数の リ ク エス ト は同じ管理対象サーバに転送 さ れ、 別の ク ラ イ アン ト か ら の リ ク エス ト は ク ラ ス タ内の別の管理対象サー バに転送さ れる よ う にな り ます。

タ イ ムア ウ ト 値を 0 以上に設定する と 、 その タ イ ムア ウ ト 期間中は ロー ド バ ラ ンサによ り すべての ク ラ イ アン ト か ら のすべての リ ク エス ト が、 WebLogic

Server

ク ラ ス タ内の同じ管理対象サーバに送信 さ れます。 つま り その タ イ ム ア ウ ト 期間中は、 別の ク ラ イ アン ト か ら の リ ク エス ト が ロー ド バ ラ ンシング さ れません。

8.

変更を適用し て、 ユーテ ィ リ テ ィ を終了し ます。

ドキュメント内 cluster.book (ページ 187-192)