この章では、新しいクラスタ・ターゲティング・オプションについて説明します。新しいオプションにより、構成プロセスが簡略化され、アプリケーションでは、JMSサーバーや永続ストアなどのWebLogicメッセージング・リソースの規模をより容易に変更できるようになります。
クラスタのターゲットとして指定されたJMSサーバーと永続ストアを使用する場合、リソース・アーティファクトのターゲット指定が直接クラスタで行われることから、クラスタ内の各サーバーに多数のJMSリソース・アーティファクトを個別に構成する必要がなくなります。
WebLogicクラスタには、個別に構成されたサーバー、動的に生成されたサーバー、またはその両方が含まれます。WebLogic Serverには、次のクラスタ・タイプがあります。
構成済: 各メンバー・サーバーが個別に構成され、それぞれがそのクラスタにターゲット指定されています。「クラスタ: 構成: サーバー」タブの「サーバーの最大数」属性の値は0です。
動的: すべてのメンバー・サーバーがサーバー・テンプレートを使用して作成されるクラスタです。これらのサーバーは動的サーバーと呼ばれます。クラスタ構成の「クラスタ: 構成: サーバー」タブの「サーバーの最大数」属性の値は、0より大きくなります。
混在: 一部のメンバー・サーバーはサーバー・テンプレートを使用して作成され(動的サーバー)、残りのサーバーは個別に構成されます(構成済サーバー)。混在クラスタには動的サーバーが含まれるため、クラスタ構成の「クラスタ: 構成: サーバー」タブの「サーバーの最大数」属性の値は、0より大きくなります。
動的サーバーの使用方法の詳細は、次を参照してください。
『Oracle WebLogic Serverクラスタの管理』の動的クラスタの概要と動的クラスタを使用する理由に関する項を参照してください。
Oracle WebLogic Server管理コンソール・オンライン・ヘルプの動的クラスタの作成に関する項および動的なクラスタ化JMSの構成に関する項を参照してください。
クラスタ化されたJMSサーバーでは、JMSサーバーと必要に応じて関連付けられる永続ストアを同じクラスタにターゲット指定できます。クラスタでは、クラスタの起動時に、各クラスタ・メンバーでJMSサーバーの1つのインスタンス(および該当する場合は関連付けられたストア)が自動的に起動します。
動的クラスタまたは混在クラスタがターゲットに指定されている場合は、クラスタ構成の「クラスタ: 構成: サーバー」タブにある「サーバーの最大数」属性を調整することにより、動的クラスタ、または混在クラスタ内の動的サーバーのWebLogic JMSリソースの規模を動的に変更できます。
図5-1「動的なクラスタ化JMS」は、config.xml
ファイルにおける、JMSと動的クラスタ構成との関係を示しています。
クラスタのターゲットとして指定されたJMSサーバーに関連付けられた永続ストアは、同じクラスタにターゲット指定されたカスタム永続ストアである場合も、各クラスタ・メンバー上で使用可能なデフォルト・ストアである場合もあります。
JMSシステム・モジュールは、引き続き2タイプのターゲット指定をサポートし、どちらを使用しても簡略化されたクラスタ化構成を利用できます。
モジュール内でターゲットがデフォルト指定されるJMSリソース(サブデプロイメントに関連付けられていないJMSリソース)は、その親モジュールのターゲット指定を継承します。親モジュールは任意のタイプのクラスタにターゲット指定できます。
モジュールのサブデプロイメントのターゲットは、クラスタ化されたJMSサーバーを参照できます。サブデプロイメントでクラスタのターゲットとして指定されたJMSサーバーを使用すると、サブデプロイメント内の個々のJMSサーバーを個別に列挙する必要がなくなるため、共通分散宛先デプロイメントでは特に便利です。
「ターゲット指定のベスト・プラクティス」を参照してください。
注意: モジュールまたはそのサブデプロイメントを直接動的クラスタ・メンバーにターゲット指定することはできません。 |
次の項では、動的クラスタとクラスタのターゲットとして指定されたJMSサーバーを使用してアプリケーションを開発する前に考慮する必要のある制限事項、およびその他の動作に関する情報を提供します。
クラスタのターゲットとして指定されたJMSサーバーまたはストアについては、自動サービス移行(ASM)はサポートされません。
クラスタのターゲットとして指定されたJMSサーバーまたはストアについては、サーバー全体の移行(WSM)はサポートされません。
クラスタのターゲットに指定されたJMSサーバーでは、順序単位(UOO)と作業単位(UOW)はサポートされません。UOOは、UOOの宛先をホストするすべてのJMSサーバーのターゲットとして特定のサーバー・インスタンスまたは移行可能ターゲットが直接指定されている場合に、構成済クラスタまたはスタンドアロンのWebLogic Serverインスタンスでサポートされます。宛先のすべてまたは一部がクラスタ化されたJMSサーバーでホストされている場合、UOOはサポートされません。
ストア・アンド・フォワード(SAF)エージェントのターゲットとして動的クラスタまたは混在クラスタを指定することはできません。SAFエージェントは、デフォルト・ストアを使用する構成済クラスタにターゲット指定できます。
Exactly-Once
(必ず1回)のQOSレベルを持つSAFエージェントによるインポート済宛先が、混在または動的クラスタでホストされる分散宛先にメッセージを転送する場合は、特別な考慮が必要です。「クラスタのターゲットとして指定されたJMSサーバーへのストア・アンド・フォワード」を参照してください。
WLSTオフラインでは、JMSサーバーを動的クラスタにターゲット指定するassign
コマンドはサポートされません。get
およびset
コマンドを使用してください。
シングルトン宛先(キューとトピック)は、クラスタのターゲットとして指定されたJMSサーバーでは直接サポートされません。
シングルトン宛先が必要な場合は、クラスタのターゲットとして指定されていないJMSサーバーを使用するか、次の回避策のいずれかを適用してください。
『Oracle WebLogic Server JMSアプリケーションの開発』の宛先のルックアップ方法に関する項で説明されているメソッドのいずれかを使用して、分散宛先メンバーを直接参照します。
外部JMSサーバーおよび外部宛先を使用して分散宛先メンバーを間接的に参照します。
クラスタのターゲットとして指定されたJMSサーバーでは、重み設定された分散宛先(シングルトン宛先のグループで構成された分散宛先タイプ)はサポートされません。
クラスタのターゲットとして指定されたJMSサーバーでホストされているメンバー宛先が1つでもある場合は、複製された分散トピック(RDT)はサポートされません。
AQ-JMSの統合は、混在クラスタと動的クラスタではサポートされません。この操作を試行しても、例外はスローされません。「Oracle AQ JMSとの相互運用」を参照してください。
メッセージング・ブリッジから混在または動的クラスタへのターゲット指定はサポートされません。この操作を試行しても、例外はスローされません(『Oracle WebLogic Serverリリース・ノート』のJMSの問題と回避策に関する項を参照)。
次の項では、クラスタのターゲットとして指定されたJMSサーバーを使用する場合の相互運用性とアップグレードの考慮事項について説明します。
以前のリリースのJMSクライアント、ブリッジ、MDB、SAFクライアント、およびSAFエージェントは、クラスタのターゲットとして指定されたJMSサーバーと通信できます。
Exactly-Once
(必ず1回)のQOSレベルを持つSAFエージェントによるインポート済宛先が、混在または動的クラスタでホストされる分散宛先にメッセージを転送する場合は、特別な考慮が必要です。「クラスタのターゲットとして指定されたJMSサーバーへのストア・アンド・フォワード」を参照してください。
データ(メッセージ)を移動するための変換パスはなく、クラスタのターゲットとして指定されていないJMSサーバーからクラスタのターゲットとして指定されたJMSサーバーへの構成やその逆の構成もできません。
クラスタのターゲットとして指定されたJMSサーバーおよびストア・インスタンスのサービスをWebLogic Server間で移行する操作は、再起動インプレースも含めて、サポートされていません。混在クラスタ内のシングルトンJMSサーバーまたはストアのインスタンスについても、同じ制限が適用されます。ただし、移行可能ターゲットにターゲット指定されたJMSサーバーおよびストアは、引き続き構成済クラスタでサポートされます。
たとえば、JMSサーバーと永続ストアのメッセージング構成では、1つの手動で構成されたWebLogic Serverまたは1つの移行可能なターゲットをターゲット指定できます。同様に、SAFエージェントは、1つの手動で構成されたWebLogic Server、移行可能なターゲット、またはクラスタをターゲット指定できます。
「JMSサービスの自動移行」を参照してください。
Exactly-Once
(必ず1回)のQOSレベルを持つSAFエージェントとSAFクライアントは、次のいずれかでない場合、動的クラスタまたは混在クラスタでホストされているJMSサーバーに安全に転送を行うことができません。
動的JMSサーバー数が永久的に縮小された状態にならない。
動的JMSサーバー数が永久的に縮小される前に、すべてのメッセージがSAFから排出される。縮小するには:
動的宛先に転送を行うExactly-Once
(必ず1回)レベルのSAFエージェントとSAFクライアントは、リモートの動的クラスタを縮小する前に正しく停止する必要があります。
動的クラスタの再起動後に、SAFエージェントまたはクライアントを再起動します。これを行わないと、縮小時に削除された宛先にSAFエージェントのメッセージを転送しようとして、メッセージがスタック状態になるおそれがあります。
これらの注意事項を守らないと、リモート・クラスタの縮小時に、メッセージがExactly-Once
(必ず1回)レベルのSAFエージェントまたはSAFクライアント内に残る場合があります。「クラスタ化されたJMSサーバーを使用する場合のベスト・プラクティス」を参照してください。
次の項では、ベスト・プラクティスとデザイン・パターンに関する情報を提供します。
動的クラスタのサイズを縮小したり、混在クラスタ内の動的クラスタ・メンバー数を削減したりする前に、クラスタのターゲットとして指定されたJMSサーバーでホストされている宛先を排出し、その後WebLogic Serverインスタンスを停止します。例:
本番用の個々の宛先を休止します。
アプリケーションで宛先を排出します。
サーバー・インスタンスを停止します。
クラスタのターゲットとして指定されたJMSサーバー用のデフォルト・ストアのかわりに、クラスタのターゲットとして指定されたストアを使用します。
モジュールでの宛先の構成時に、デフォルトのターゲット指定を使用せずに特定のクラスタ化されたJMSサーバーをターゲット指定するサブデプロイメントを使用します。これにより、宛先では、目的としている正確なJMSサーバー・インスタンス上にメンバーが作成されます。
動的クラスタまたは混在クラスタ内でホストされたJMSサーバーへの転送を行う、Exactly-Once
(必ず1回)のQOSレベルのSAFエージェントとSAFクライアントが存在する場合は、「クラスタのターゲットとして指定されたJMSサーバーへのストア・アンド・フォワード」を参照してください。