動的キャッシュ・サービスのマルチセルおよびマルチコアのグループの無効化

動的キャッシュ・サービスのマルチセルおよびマルチコアのグループを無効化することにより、 異なるセルで作成されたキャッシュを、キャッシュ・エントリーをセル境界にまたがって複製することなく、 同期化することができます。サーブレット・キャッシュ・インスタンスまたはオブジェクト・キャッシュ・インスタンスのいずれかでこの機能を使用可能にした場合、セルが同じトラフィックを処理すると、 両方のセルでデータがキャッシュに入れられます。Java Message Service (JMS) を使用して Java キャッシュ・エントリーを無効化すると、無効化されたキャッシュ・エントリーの ID は対等なセルに送信されます。 受信側のセルは、サービス統合バスを使用して無効化を処理します。 この機能を使用して、同じセル内の他のコア・グループに無効化を伝搬することもできます。

動的キャッシュの外部キャッシュ・アダプター ExternalCacheAdapter (ECA) は、 サーバーから無効化をキャプチャーする際に使用されます。JMS/サービス統合バスは、 リモート・セルまたはコア・グループでの無効化の送受信に使用されます。 無効化アプリケーションをホストするために、追加のアプリケーション・サーバーが作成されます。 これらのサーバーは、自動的にサービス統合バスのメンバーになります。 これらのアプリケーション・サーバーは、JMS メッセージからなる、リモート・セルからの無効化を 処理し、それをローカル・セル内のクラスター・メンバーに伝達します。

動的キャッシュ・サービスのマルチセルおよびマルチコアのグループ環境における無効化情報のフロー

無効化されたキャッシュの ID をリモート・セル内のサービス統合バスに送信するために、 外部キャッシュ・キャッシュ・アダプター com.ibm.websphere.servlet.cache.RemoteInvalidator が使用されます。 このタイプの外部キャッシュ・アダプターは、アドレスにホスト host:port を指定する代わりに、 アドレスとして、次のように、JMS キュー接続ファクトリー JNDI 名と、リモート・サービス統合バスのキュー宛先名を使用します。

Adapter bean name = com.ibm.websphere.servlet.cache.RemoteInvalidator
Address = JMS_QUEUE_CONNECTION_FACTORY_JNDI_NAME, REMOTE_QUEUE_DESTINATION_NAME
この機能を使用する前に、以下のことを確認する必要があります。
  • 各セルまたは各コア・グループに、実動アプリケーションをホストするクラスターが含まれること。 無効化 ID が正しく処理されるように、両方のセルまたはコア・グループで同じ実動アプリケーションが使用される必要があります。
  • 2 つのサーバーの別個のクラスターが、サービス統合バスをホストするため、各セルまたは各コア・グループに作成されていること。 このクラスターのメンバーには、 RemoteJMSInvalidator 外部キャッシュ・グループを定義できません。 これらのクラスター・メンバーに RemoteJMSInvalidator 外部キャッシュ・グループが定義されていると、 セル間で無効化が繰り返し送信される無限ループバック状態になります。
  • データ・ソースが定義されていて、両方のサービス統合バス・クラスター・メンバーから アクセス可能であること。データベースが両方のセルによって共有される場合、各セルの各データ・ソースを定義するときに固有のデータベース名が使用されるようにしてください。
  • 各セルまたは各コア・グループが 1 つの複製ドメインを含んでいて、その複製ドメイン内には、サービス統合バス・クラスターと、 実動アプリケーションをホスティングするすべてのクラスターの両方が含まれること。
この機能をオブジェクト・キャッシュ・インスタンスに使用している場合には、 さらに、以下の Java 仮想マシン (JVM) カスタム・プロパティーを true に設定する 必要があります。これらのプロパティーは、キャッシュ・インスタンスの作成時 に cacheinstances.properties ファイルまたはプロパティー・マップのいずれかに指定するか、 あるいは管理コンソールを使用して JVM に追加することができます。
  • com.ibm.ws.cache.CacheConfig.interCellReplication
  • enableInterCellInvalidation

構成の考慮事項

WAS_INSTALL_ROOT/util/ ディレクトリー に dynacacheJMSSIB.py スクリプトが用意されています。このスクリプトを使用して、 外部キャッシュ・アダプターとサービス統合バス・インフラストラクチャーを両方のセル内に構成することができます。 このスクリプトが正しく機能するには、 WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin ディレクトリーから実行する必要があります。以下に例を示します。
WAS_INSTALL_ROOT/profiles/Dmgr01/bin)

サーブレット またはオブジェクト・キャッシュ・インスタンスの構成は、コア・グループ内の両方のクラスター に対して使用可能にする必要があります。プロパティー・ファイル、ファクトリー、または管理コンソール のいずれかを使用して、サーブレットまたはオブジェクト・キャッシュ・インスタンスを構成できます。 この構成は、セルの有効範囲で設定しなければならず、 サービス統合バスとコア・グループ内の実動クラスターの両方に対して使用可能にする必要があります。 構成を両方に対して確実に使用可能にするために最も簡単な方法は、アプリケーションのインストール時に、 Web プロダクションとサービス統合バス・クラスターの両方にキャッシュ・インスタンスを 作成および定義する方法です。

以下に、キャッシュ・インスタンス用の cacheinstances.properties ファイルを追加する必要が ある場合のステートメントの例を示します。
cache.instance.0=/services/cache/instance_one
cache.instance.0.cacheSize=1000
cache.instance.0.enableInterCellInvalidation=true
以下に、 DistributedMapFactory を使用して、キャッシュ・インスタンス用の DistributedMap を作成する場合に 指定する必要があるステートメントの例を示します。
Properties p = new Properties();
==>p.put("com.ibm.ws.cache.CacheConfig.enableInterCellInvalidation", "true");
   DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);

[z/OS]管理コンソールでこれらのプロパティーを設定するには、 「サーバー」>「アプリケーション・サーバー」>server_name とクリックし、 「サーバー・インフラストラクチャー」セクションで「Java™ およびプロセス管理」>「プロセス定義」 >制御>「Java 仮想マシン」 >「カスタム・プロパティー」とクリックするか、または「リソース」>「キャッシュ・インスタンス」>「オブジェクト・キャッシュ・インスタンス」> cache_instance_name とクリックします。

[AIX Solaris HP-UX Linux Windows][IBM i]管理コンソールでこれらのプロパティーを設定するには、 「サーバー」>「アプリケーション・サーバー」> server_name とクリックし、 「サーバー・インフラストラクチャー」セクションで「Java およびプロセス管理」>「プロセス定義」 >「Java 仮想マシン」>「カスタム・プロパティー」と クリックするか、または「リソース」>「キャッシュ・インスタンス」> 「オブジェクト・キャッシュ・インスタンス」> cache_instance_name とクリックします。

dynacacheJMSSIB.py スクリプトは、以下の 3 つのステップで各セルを構成します。
  1. インバウンド JMS/サービス統合バスの構成。これは、以下のアクションからなります。
    • サービス統合バスの作成およびサービス統合バス宛先の指定。
    • JMS キューの作成。
    • JMS の活動化。
    • メッセージ駆動型 Bean である WAS_INSTALL_ROOT/installables/DynacacheMessageHandler.ear ファイルの サービス統合バス・クラスターへのインストール。
  2. アウトバウンド JMS/サービス統合バスの構成。これは、JMS キュー接続ファクトリー から構成されます。
  3. 外部キャッシュ・グループの構成。これは、外部キャッシュ・グループ、および実動アプリケーション をホストしている各クラスター・メンバー上の外部キャッシュ・アダプターから構成されます。

チューニング考慮事項

以下の Java 仮想マシン (JVM) カスタム・プロパティー を使用して、動的キャッシュ・サービスのマルチセルおよびマルチコア・グループの無効化を調整できます。
dynacache.jms.connRetryInterval
クラスター・メンバーがサービス統合バス・サーバーへの再接続を試行する前に待機する 秒数を指定します。デフォルト値は 30 です。
dynacache.jms.numStoredInvalidations
サービス統合バス・サーバーが使用可能になるのを待機する間にクラスター・メンバーが保管できる無効化 ID の最大数を指定します。しきい値に達すると、最も古い無効化が削除されます。デフォルト値は 10000 です。
dynacache.jms.cacheInstance
無効化の処理に使用するキャッシュ・インスタンスを指定します。このプロパティーに "*" を設定すると、無効化 ID がすべてのキャッシュ・インスタンスで処理されます。 デフォルトでは、baseCache キャッシュ・インスタンスが使用されます。 このプロパティーは、サービス統合バス・サーバーのみに適用できます。
dynacache.jms.invProcessingDelay
サービス統合バス・サーバーが無効化 ID を処理する前にそれらをキューイングする秒数を指定します。デフォルト値は 20 です。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cdyn_multicell
ファイル名:cdyn_multicell.html