はじめに
連載7回目となる今回のテーマは、JBoss Data Grid(以下、JDG)のアーキテクチャの理解とパフォーマンスチューニングのポイントについて解説します。
JDGを導入する目的は高性能なデータストア環境の提供にありますので、チューニングは大事な作業になります。また、チューニングを正しく行うためには、JDGがどのような構成で動作しているかを理解していることが重要になりますので、まずはJDGのアーキテクチャを見ていくことにします。
JDGのアーキテクチャ
リモートクライアントサーバーモードで使用されるJDGサーバーは、大きくInfinispanサーバー、Infinispanコア、JGroupsの3つのモジュールで構成されています(図1)。
Infinispanサーバーは、アプリケーションとなるクライアントプログラムからキャッシュ操作コマンドを受信し、操作結果をクライアントに返送するフロントエンド部分です。InfinispanコアはJDGにおける中心的な役割であり、キーバリューストア(キャッシュ)を管理する部分です。JGroupsモジュールはクラスタリングを組んだノード間でのデータのレプリケーションやリバランスに伴う通信処理を担当する部分です。JDGサーバーはこれら3つのモジュールが連携して動作しています。
なお、ライブラリモードの場合はInfinispanサーバーのモジュールは使用せず、アプリケーションはInfinispanコアのAPIを直接操作します。そのため、ライブラリモードではInfinispanコアとJGroupsのライブラリ(jarファイル)をアプリケーションに同梱して使用することになります。
- この記事のキーワード
