1.6. Red Hat JBoss Data Grid のキャッシュアーキテクチャー
図1.1 Red Hat JBoss Data Grid のキャッシュアーキテクチャー
Red Hat JBoss Data Grid のキャッシュインフラストラクチャーは、JBoss Data Grid の各使用モード (ライブラリーおよびリモートクライアントサーバー) での個々の要素と要素同士の対話を表しています。明確にするため、キャッシュアーキテクチャーの図は以下の 2 つの部分に分割されています。
- 図の濃い灰色部分にあるのは、ユーザーが直接対話できない要素です。リモートクライアントサーバーモードでは、永続ストア、キャッシュ、キャッシュマネージャー、1 次キャッシュ、およびサーバーモジュールが含まれます。ライブラリーモードでは、ユーザーは永続ストアおよび 1 次キャッシュと直接対話できません。
- 図の薄い灰色部分にあるのは、ユーザーが直接対話できる要素です。リモートクライアントサーバーモードでは、アプリケーションとキャッシュクライアントが含まれます。ライブラリーモードでは、ユーザーはキャッシュ、キャッシュマネージャー、およびアプリケーションと対話できます。
キャッシュアーキテクチャーの要素
JBoss Data Grid のキャッシュアーキテクチャーには以下の要素が含まれています。
- 永続ストアはオプションのコンポーネントです。データグリッドのシャットダウン後に、修復用にキャッシュされたエントリーを永久に格納します。
- 1 次キャッシュ (L1 キャッシュ) は、リモートキャッシュエントリーが最初にアクセスされた後にそれらのエントリーを格納し、同じエントリーがその後使用されるたびに不必要なリモートフェッチ操作が行われないようにします。
- キャッシュマネージャーはキャッシュインスタンスのライフサイクルを制御し、必要時にキャッシュインスタンスを格納および読み出しできます。
- キャッシュは、キーと値のエントリーを格納および読み出しするための主なコンポーネントです。
ライブラリーおよびリモートクライアントサーバーモードのアーキテクチャー
ライブラリーモードでは、アプリケーション (ユーザーコード) はキャッシュおよびキャッシュマネージャーコンポーネントと直接対話できます。この場合、アプリケーションは同じ Java 仮想マシン (JVM) にあり、Cache および Cache Manager Java API メソッドを直接呼び出せます。
リモートクライアントサーバーモードでは、アプリケーションはキャッシュと直接対話しません。また、通常アプリケーションは異なる物理ホストの別の JVM にあるか、Java アプリケーションである必要がありません。この場合、アプリケーションは Memcached、Hot Rod、REST などのサポートされるプロトコルの 1 つを使用してネットワーク上でリモートの JBoss Data Grid サーバーと通信するキャッシュクライアントを使用します。適切なサーバーモジュールがサーバー側の通信を処理します。リクエストがリモートでサーバーに送信されると、プロトコルを変換してキャッシュコンポーネントで実行される操作に戻し、データを格納および読み出しします。