独立したキャッシュ・インスタンスを持つプロセスが複数ある場合は、確実にキャッシュが同期されるようにする必要があります。キャッシュ・インスタンスが確実に同期されるようにするには、Java Message Service (JMS)を使用して、ピア複製されるキャッシュを有効にします。
WebSphere® eXtreme
Scale には、ピア ObjectGrid インスタンス間にトランザクション変更を自動的に伝搬する 2 つのプラグインがあります。 JMSObjectGridEventListener プラグインは、JMS を使用して、
eXtreme Scale 変更を自動的に伝搬します。
図 1. JMS によって変更が伝搬されるピア複製キャッシュ
WebSphere Application Server 環境
を実行している場合は、TranPropListener プラグインも使用可能です。TranPropListener プラグインは、高可用性 (HA) マネージャー
を使用して、各ピア・キャッシュ・インスタンスに変更を伝搬します。
図 2. HA マネージャーによって変更が伝搬されるピア複製キャッシュ
利点
- より頻繁にデータが更新されるため、データが有効な場合が増えます。
- TranPropListener プラグインを使用すると、ローカル環境と同様、
eXtreme Scale デプロイメント記述子 XML ファイルや他のフレームワーク (Spring など) を使用
して、eXtreme Scale をプログラマチックまたは宣言的に作成できます。HA マネージャーとの
統合は自動的に行われます。
- 最適のメモリー使用効率および並行性が得られるように、各 BackingMap を独立して調整できます。
- BackingMap 更新は、単一の作業単位にまとめることができ、Java Transaction Architecture (JTA) トランザクションなどの 2 フェーズ・トランザクションの最終参加者として統合することができます。
- 十分小さなデータ・セットの少数 JVM トポロジー、または頻繁にアクセスされるデータのキャッシングに最適です。
- eXtreme Scale に対する変更
は、すべてのピア eXtreme Scale インスタンスに複製されます。
変更は、永続サブスクリプションが使用されている限り、整合性が保たれます。
欠点
- JMSObjectGridEventListener の構成および保守は、複雑になる場合があります。eXtreme Scale は、eXtreme Scale デプロイメント記述子 XML ファイルまたは Spring などのその他のフレームワークを使用して、プログラマチックまたは宣言的に作成できます。
- スケーラブルではありません。データベースが必要とするメモリー量が、JVM の負担になる場合があります。
- Java 仮想マシンを追加する場合に不適切な機能:
- データを簡単には区画化できない
- 無効化にコストがかかります。
- 各キャッシュは個別にウォームアップが必要になります。
使用する場合
デプロイメント・トポロジーは、キャッシュに入れるデータ量が小さく、1 つの JVM に収まり、かつ比較的安定している場合にのみ使用します。