第3章 Data Gri 設定の移行


Data Grid 8 への移行に影響するデータグリッド設定の変更を見つけます。

3.1. Data Grid キャッシュの設定

Data Grid 8 は、デフォルトで空のキャッシュコンテナーを提供します。Data Grid を起動すると、キャッシュマネージャーがインスタンス化されるため、実行時にキャッシュを作成できます。

ただし、以前のバージョンと比較すると、すぐに使用できるデフォルトのキャッシュはありません。

Data Grid 8 では、CacheContainerAdmin API を介して作成するキャッシュは、クラスターの再起動後も存続することを保証するために永続的です。

永続的なキャッシュ

.administration()
   .withFlags(AdminFlag.PERMANENT) 1
   .getOrCreateCache("myPermanentCache", "org.infinispan.DIST_SYNC");
1
AdminFlag.PERMANENT はデフォルトで有効になっており、キャッシュが再起動後も存続するようになっています。

キャッシュを作成するときにこのフラグを設定する必要はありません。ただし、データが再起動後も存続するためには、データグリッドに永続ストレージを個別に追加する必要があります。次に例を示します。

ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence()
   .addSingleFileStore()
   .location("/tmp/myDataStore")
   .maxEntries(5000);

揮発性キャッシュ

.administration()
   .withFlags(AdminFlag.VOLATILE) 1
   .getOrCreateCache("myTemporaryCache", "org.infinispan.DIST_SYNC"); 2
1
データグリッドの再起動時にキャッシュが失われるように VOLATILE フラグを設定します。
2
myTemporaryCache という名前のキャッシュを返すか、DIST_SYNC テンプレートを使用してキャッシュを作成します。

Data Grid 8 は、推奨設定でキャッシュを作成するために使用できるサーバーインストール用のキャッシュテンプレートを提供します。

使用可能なキャッシュテンプレートのリストは、次のように取得できます。

  • CLI で Tab のオートコンプリートを使用します。

    [//containers/default]> create cache --template=
  • REST API を使用します。

    GET 127.0.0.1:11222/rest/v2/cache-managers/default/cache-configs/templates

3.1.1. キャッシュエンコーディング

リモートキャッシュを作成するときは、キーと値の MediaType を設定する必要があります。MediaType を設定すると、データのストレージ形式が保証されます。

キャッシュをエンコードするには、設定で MediaType を指定します。他の要件がない限り、ProtoStream を使用する必要があります。これは、言語に依存しない下位互換性のある形式でデータを格納します。

<encoding media-type="application/x-protostream"/>

エンコーディングを使用した分散キャッシュ設定

<infinispan>
    <cache-container>
        <distributed-cache name="myCache" mode="SYNC">
          <encoding media-type="application/x-protostream"/>
           ...
        </distributed-cache>
    </cache-container>
</infinispan>

リモートキャッシュをエンコードしない場合、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.

将来のバージョンでは、データ変換が行われる操作にキャッシュエンコーディングが必要になります。たとえば、キャッシュのインデックス作成とデータコンテナーの検索、リモートタスクの実行、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

Data Grid Server は、REST エンドポイントと Data Grid Console を介して Health API も公開します。

表3.1 ヘルスステータス
7.x8.x説明

HEALTHY

HEALTHY

キャッシュが期待どおりに動作していることを示します。

Rebalancing

HEALTHY_REBALANCING

キャッシュがリバランス状態にあることを示しますが、それ以外場合は想定どおりに動作します。

Unhealthy

DEGRADED

キャッシュが期待どおりに動作しておらず、トラブルシューティングが必要な可能性があることを示します。

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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.