以下の節では、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