19.9. Cassandra キャッシュストア
Red Hat JBoss Data Grid は、Apache Cassandra がキャッシュストアとして機能することを可能にし、分散データベースアーキテクチャーから実質的に無制限の、水平方向に拡張可能な、キャッシュエントリーの永続ストアを提供できるようにします。
Cassandra キャッシュストアを使用するには、適切なキースペースを Cassandra データベースに作成する必要があります。これは自動的に実行するか、またはキャッシュストア設定で
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
auto-create-keyspace パラメーターを有効にして実行できます。キースペースの作成例は以下のとおりです。
CREATE KEYSPACE IF NOT EXISTS Infinispan WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};
CREATE TABLE Infinispan.InfinispanEntries (key blob PRIMARY KEY, value blob, metadata blob);
CREATE KEYSPACE IF NOT EXISTS Infinispan WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};
CREATE TABLE Infinispan.InfinispanEntries (key blob PRIMARY KEY, value blob, metadata blob);
19.9.1. Cassandra キャッシュストアの有効化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Cassandra キャッシュストアは、ダウンロードされたディストリビューションをベースに組み込まれます。以下は、これが置かれる場所、および必要な場合にこれを有効にする手順を示しています。
ライブラリーモード:infinispan-cachestore-cassandra-8.3.0.final-redhat-1-deployable.jarはjboss-datagrid-${jdg-version}-library/ディレクトリーに組み込まれており、Cassandra キャッシュストアを使用しているすべてのプロジェクトに追加できます。リモートクライアントサーバーモード: Cassandra キャッシュストアはサーバーのmodules/ディレクトリーに事前にパッケージ化されており、追加の設定なしにデフォルトで使用できます。JBoss EAP の JBoss Data Grid モジュール: Cassandra キャッシュストアは配信されるモジュールに組み込まれており、モジュール名としてorg.infinispan.persistence.cassandraを使用して追加できます。
19.9.2. Cassandra キャッシュストアの XML 設定例 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
リモートクライアントサーバーモードでは、Cassandra キャッシュストアは、クラス
org.infinispan.persistence.cassandra.CassandraStore を使用し、プロパティーをストア内に個別に定義することによって定義されます。
以下の設定スニペットは、xml ファイル内に Cassandra キャッシュストアを定義する方法についての例を示しています。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
19.9.3. Cassandra キャッシュストアの XML 設定例 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ライブラリーモードでは、Cassandra キャッシュストアは 2 つの異なるメソッドを使って設定することができます。
- オプション 1: 「Cassandra キャッシュストアの XML 設定例 (リモートクライアントサーバーモード)」で説明されている リモートクライアントサーバーモードで使用されるのと同じメソッドの使用。
- オプション 2:
cassandra-storeスキーマの使用。以下のスニペットは、Cassandra キャッシュストアを定義する設定例を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.9.4. Cassandra 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ライブラリーモードでバッキング Cassandra インスタンスを定義する場合に、1 つ以上の Expand
cassandra-server 要素を設定に指定できます。要素のそれぞれには以下のプロパティーがあります。
| パラメーター名 | 説明 | デフォルト値 |
|---|---|---|
host | Cassandra サーバーのホスト名または IP アドレス。 | 127.0.0.1 |
port | サーバーがリッスンしているポート。 | 9042 |
以下のプロパティーを Cassandra キャッシュストアに設定できます。
Expand
| パラメーター名 | 説明 | デフォルト値 |
|---|---|---|
auto-create-keyspace | キースペースおよびエントリーテーブルを起動時に自動作成する必要があるかどうかを決定します。 | true |
keyspace | 使用するキースペースの名前。 | Infinispan |
entry-table | エントリーを格納するテーブルの名前。 | InfinispanEntries |
consistency-level | クエリーに使用する整合性レベル | LOCAL_ONE |
serial-consistency-level | クエリーに使用するシリアル整合性レベル | SERIAL |
connection-pool も以下の要素で定義できます。
| パラメーター名 | 説明 | デフォルト値 |
|---|---|---|
pool-timeout-millis | ホストプールからの接続が利用できない場合にドライバーがブロックする時間。このタイムアウトの後にドライバーは次のホストを試行します。 | 5 |
heartbeat-interval-seconds | アクティビティーが実行されていない場合に接続がドロップされるのを防ぐためのアプリケーション側のハートビート。無効にするには 0 に設定します。 | 30 |
idle-timeout-seconds | アイドル接続が削除される前のタイムアウト。 | 120 |