1.6. Red Hat JBoss Data Grid のキャッシュアーキテクチャー

Red Hat JBoss Data Grid Cache Architecture Diagram

図1.1 Red Hat JBoss Data Grid のキャッシュアーキテクチャー

Red Hat JBoss Data Grid のキャッシュインフラストラクチャーは、JBoss Data Grid の各使用モード (ライブラリーおよびリモートクライアントサーバー) での個々の要素と要素同士の対話を表しています。明確にするため、キャッシュアーキテクチャーの図は以下の 2 つの部分に分割されています。
  • 図の濃い灰色部分にあるのは、ユーザーが直接対話できない要素です。リモートクライアントサーバーモードでは、永続ストア、キャッシュ、キャッシュマネージャー、1 次キャッシュ、およびサーバーモジュールが含まれます。ライブラリーモードでは、ユーザーは永続ストアおよび 1 次キャッシュと直接対話できません。
  • 図の薄い灰色部分にあるのは、ユーザーが直接対話できる要素です。リモートクライアントサーバーモードでは、アプリケーションとキャッシュクライアントが含まれます。ライブラリーモードでは、ユーザーはキャッシュ、キャッシュマネージャー、およびアプリケーションと対話できます。
キャッシュアーキテクチャーの要素

JBoss Data Grid のキャッシュアーキテクチャーには以下の要素が含まれています。

  1. 永続ストアはオプションのコンポーネントです。データグリッドのシャットダウン後に、修復用にキャッシュされたエントリーを永久に格納します。
  2. 1 次キャッシュ (L1 キャッシュ) は、リモートキャッシュエントリーが最初にアクセスされた後にそれらのエントリーを格納し、同じエントリーがその後使用されるたびに不必要なリモートフェッチ操作が行われないようにします。
  3. キャッシュマネージャーはキャッシュインスタンスのライフサイクルを制御し、必要時にキャッシュインスタンスを格納および読み出しできます。
  4. キャッシュは、キーと値のエントリーを格納および読み出しするための主なコンポーネントです。
ライブラリーおよびリモートクライアントサーバーモードのアーキテクチャー

ライブラリーモードでは、アプリケーション (ユーザーコード) はキャッシュおよびキャッシュマネージャーコンポーネントと直接対話できます。この場合、アプリケーションは同じ Java 仮想マシン (JVM) にあり、Cache および Cache Manager Java API メソッドを直接呼び出せます。

リモートクライアントサーバーモードでは、アプリケーションはキャッシュと直接対話しません。また、通常アプリケーションは異なる物理ホストの別の JVM にあるか、Java アプリケーションである必要がありません。この場合、アプリケーションは Memcached、Hot Rod、REST などのサポートされるプロトコルの 1 つを使用してネットワーク上でリモートの JBoss Data Grid サーバーと通信するキャッシュクライアントを使用します。適切なサーバーモジュールがサーバー側の通信を処理します。リクエストがリモートでサーバーに送信されると、プロトコルを変換してキャッシュコンポーネントで実行される操作に戻し、データを格納および読み出しします。