第3章 Data Gri 設定の移行
Data Grid 8 への移行に影響するデータグリッド設定の変更を見つけます。
3.1. Data Grid キャッシュの設定 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8 は、デフォルトで空のキャッシュコンテナーを提供します。Data Grid を起動すると、キャッシュマネージャーがインスタンス化されるため、実行時にキャッシュを作成できます。
ただし、以前のバージョンと比較すると、すぐに使用できるデフォルトのキャッシュはありません。
Data Grid 8 では、CacheContainerAdmin API を介して作成するキャッシュは、クラスターの再起動後も存続することを保証するために永続的です。
永続的なキャッシュ
.administration()
.withFlags(AdminFlag.PERMANENT)
.getOrCreateCache("myPermanentCache", "org.infinispan.DIST_SYNC");
.administration()
.withFlags(AdminFlag.PERMANENT)
.getOrCreateCache("myPermanentCache", "org.infinispan.DIST_SYNC");
- 1
AdminFlag.PERMANENTはデフォルトで有効になっており、キャッシュが再起動後も存続するようになっています。
キャッシュを作成するときにこのフラグを設定する必要はありません。ただし、データが再起動後も存続するためには、データグリッドに永続ストレージを個別に追加する必要があります。次に例を示します。
ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence()
.addSingleFileStore()
.location("/tmp/myDataStore")
.maxEntries(5000);
ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence()
.addSingleFileStore()
.location("/tmp/myDataStore")
.maxEntries(5000);
揮発性キャッシュ
.administration()
.withFlags(AdminFlag.VOLATILE)
.getOrCreateCache("myTemporaryCache", "org.infinispan.DIST_SYNC");
.administration()
.withFlags(AdminFlag.VOLATILE)
.getOrCreateCache("myTemporaryCache", "org.infinispan.DIST_SYNC");
Data Grid 8 は、推奨設定でキャッシュを作成するために使用できるサーバーインストール用のキャッシュテンプレートを提供します。
使用可能なキャッシュテンプレートのリストは、次のように取得できます。
CLI で
Tabのオートコンプリートを使用します。[//containers/default]> create cache --template=
[//containers/default]> create cache --template=Copy to Clipboard Copied! Toggle word wrap Toggle overflow REST API を使用します。
GET 127.0.0.1:11222/rest/v2/cache-managers/default/cache-configs/templates
GET 127.0.0.1:11222/rest/v2/cache-managers/default/cache-configs/templatesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1. キャッシュエンコーディング リンクのコピーリンクがクリップボードにコピーされました!
リモートキャッシュを作成するときは、キーと値の MediaType を設定する必要があります。MediaType を設定すると、データのストレージ形式が保証されます。
キャッシュをエンコードするには、設定で MediaType を指定します。他の要件がない限り、ProtoStream を使用する必要があります。これは、言語に依存しない下位互換性のある形式でデータを格納します。
<encoding media-type="application/x-protostream"/>
エンコーディングを使用した分散キャッシュ設定
リモートキャッシュをエンコードしない場合、Data Grid Server は次のメッセージをログに記録します。
WARN (main) [org.infinispan.encoding.impl.StorageConfigurationManager] ISPN000599: Configuration for cache 'mycache' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
WARN (main) [org.infinispan.encoding.impl.StorageConfigurationManager] ISPN000599: Configuration for cache 'mycache' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
将来のバージョンでは、データ変換が行われる操作にキャッシュエンコーディングが必要になります。たとえば、キャッシュのインデックス作成とデータコンテナーの検索、リモートタスクの実行、Hot Rod および REST エンドポイントからのさまざまな形式でのデータの読み取りと書き込み、リモートフィルター、コンバーター、リスナーの使用などです。
3.1.2. キャッシュヘルスステータス リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 7.x には、クラスターのヘルスステータスとクラスター内のキャッシュを返すヘルスチェック API が含まれています。
Data Grid 8 は Health API も提供します。組み込みおよびサーバーインストールの場合、次の MBean を使用して JMX 経由で Health API にアクセスできます。
org.infinispan:type=CacheManager,name="default",component=CacheContainerHealth
org.infinispan:type=CacheManager,name="default",component=CacheContainerHealth
Data Grid Server は、REST エンドポイントと Data Grid Console を介して Health API も公開します。
| 7.x | 8.x | 説明 |
|---|---|---|
|
|
| キャッシュが期待どおりに動作していることを示します。 |
|
|
| キャッシュがリバランス状態にあることを示しますが、それ以外場合は想定どおりに動作します。 |
|
|
| キャッシュが期待どおりに動作しておらず、トラブルシューティングが必要な可能性があることを示します。 |
3.1.3. Data Grid 8.1 設定スキーマへの変更 リンクのコピーリンクがクリップボードにコピーされました!
このトピックでは、8.0 から 8.1 までの Data Grid 設定スキーマへの変更をリスト表示します。
新規および変更された要素と属性
-
stackは、インライン JGroups スタック定義のサポートを追加します。 -
stack.combine属性とstack.position属性を使用すると、JGroups スタック定義をオーバーライドおよび変更できます。 -
metric使用すると、Data Grid が Eclipse Micro Profile Metrics API と互換性のあるメトリックをエクスポートする方法を設定できます。 -
context-initializerを使用すると、ユーザータイプの Protostream ベースのマーシャラーを初期化するSerializationContextInitializer実装を指定できます。 -
key-transformersを使用すると、Lucene でインデックスを作成するためにカスタムキーを文字列に変換するトランスフォーマーを登録できます。 -
statisticsはデフォルトで false になりました。
非推奨の要素と属性
次の要素と属性は非推奨になりました。
-
off-heap要素のaddress-count属性。 -
transaction要素のprotocol属性。 -
jmx要素のduplicate-domains属性。 -
advanced-externalizer -
custom-interceptors -
state-transfer-executor -
transaction-protocol
削除された要素と属性
次の要素と属性は以前のリリースで非推奨になり、現在は削除されています。
-
deadlock-detection-spin -
compatibility -
write-skew -
versioning -
data-container -
eviction -
eviction-thread-policy