2.2. Data Grid 8.1.0 の新機能

Data Grid 8.1.0 は、ユーザービリティーが向上し、パフォーマンスが向上し、セキュリティーを強化し、セキュリティーを強化します。8.1.0 の新機能を参照してください。

2.2.1. クロスサイトレプリケーション

Red Hat OpenShift での完全サポート

Data Grid クロスサイトレプリケーションは、Data Grid Operator で完全にサポートされるようになりました。データセンター全体でバックアップする OpenShift にグローバル Data Grid クラスターを作成します。

OpenShift でのクロスサイトレプリケーションの設定を参照してください。

非同期バックアップの競合解決

Data Grid 8.1 は、クロスサイトレプリケーション機能を使用する場合の非同期バックアップを大幅に改善します。本リリースでは、複数のアクティブなサイトが相互に複製した場合にデータの一貫性を確保できるように、競合するエントリーおよび解決メカニズムの検出が導入されました。

詳細を確認し、ドキュメントで Data Grid の競合を検出し、解決する方法を確認してください。

同時書き込みおよび競合エントリーを参照してください。

複数サイトマスター

Data Grid は JGroups RELAY2 プロトコルを使用して、クロスサイトレプリケーションのクラスター間の通信を容易にします。各クラスターには、サイト間のトラフィックを処理するサイトマスターがあります。

注記

Data Grid Operator は、OpenShift でクロスサイトレプリケーションを使用する場合に、サイトマスターになるノードを制御します。Data Grid Operator で RELAY2 設定を変更することはできません。

8.1 の時点で、RELAY2 設定で複数のサイトマスターを設定して、クラスター間のトラフィックのバランスを取ることができます。以下の例のように max_site_masters 属性を使用します。

<relay.RELAY2 site="NYC" 1
              max_site_masters="100"/> 2
1
ローカルサイトの名前を定義します。
2
サイトマスターの数を指定します。デフォルト値は 1 です。値は 1 より大きい数値に増やすことができます。Data Grid クラスターのノード数と同じか、それより大きい値を設定する場合、すべてのノードがサイトマスターとして機能します。

クロスサイトレプリケーションの設定を参照してください。

2.2.2. Data Grid Server

Data Grid Server 8.1 は、セキュリティーと新しい設定オプションが強化されます。

自動認証

Data Grid Server は、リモートエンドポイントでのユーザー認証を自動的に強制するデフォルトのプロパティーレルムを使用します。

Data Grid Console、コマンドラインインターフェイス (CLI)、REST API、または Hot Rod エンドポイントにアクセスするためのユーザー名とパスワードを作成するには Data Grid の認証情報の追加を参照してください。

異なる認証メカニズムの設定方法は、Securing Access to Data Grid Serverを参照してください。

注記

Data Grid Server 8.0 をインストールしている場合は、8.1 にアップグレードし、デフォルトのセキュリティーを持つ設定スキーマを使用します。

JDBC キャッシュストアの共有データソース

Data Grid Server を使用すると、JDBC キャッシュストアを使用してキャッシュエントリーをデータベースに永続化する際に、共有データソースを作成できます。

Data Grid Server データソースの設定を参照してください。

キャッシュ承認のグローバルロール

ロールベースのアクセスでキャッシュ認証を設定する場合、キャッシュ内のロールを明示的に宣言しない限り、グローバル設定で宣言したロールが適用されます。

<infinispan>
   <cache-container name="default">
      <security>
         <authorization> 1
            <identity-role-mapper/>
            <role name="AdminRole" permissions="ALL"/>
            <role name="ReaderRole" permissions="READ"/>
            <role name="WriterRole" permissions="WRITE"/>
            <role name="SupervisorRole" permissions="READ WRITE EXEC BULK_READ"/>
         </authorization>
      </security>
      <distributed-cache name="secured">
         <security>
            <authorization/> 2
         </security>
      </distributed-cache>
   </cache-container>
   ...
</infinispan>
1
パーミッションにマップするユーザーロールを定義します。
2
暗黙的に、グローバル設定のすべての承認ロールを使用します。

Data Grid 認証の設定を参照してください。

2.2.3. Data Grid コマンドラインインターフェイス (CLI)

Data Grid 8.1 CLI は、サーバー設定、ユーザー管理、およびトラブルシューティング用の追加機能を提供します。

ユーザー管理

CLI は 8.1 より、Data Grid Server ディストリビューションに含まれる user-tool スクリプトに代わる user コマンドを提供します。

user コマンドを使用すると、プロパティーベースのセキュリティーレルムのユーザー認証情報およびグループを管理できます。たとえば、以下のコマンドは "admin" 権限のある認証情報を追加します。

[disconnected]> user create myusername --password=qwer1234! --groups=admin

Data Grid 認証情報の追加を参照してください。

ロギング設定

ランタイム時にサーバーロギング設定を変更できるようになりました。たとえば、org.infinispan カテゴリーの DEBUG ログメッセージを有効にするには、以下を実行します。

[hostname@cluster//containers/default]> logging set --level=DEBUG org.infinispan

ランタイムでの Data Grid Server ロギング設定の変更を参照してください。

診断レポート

Data Grid Server は、スレッドダンプ、メモリー設定、オープンソケットなどの情報が含まれる集約ログを提供し、デプロイメントの監視およびトラブルシューティングに使用できます。

以下の例のように、CLI で report コマンドを使用します。

[hostname@cluster//containers/default]> server report
Downloaded report 'infinispan-hostname-timestamp-report.tar.gz'

Data Grid Server の診断レポートの取得を参照してください。

注記

Data Grid Server の診断レポートは、現在 Linux/Unix システムでのみ利用できます。

2.2.4. Data Grid コンソール

Data Grid 8.1 コンソールは、以下のような追加機能を提供します。

  • キャッシュエントリーの作成および削除
  • クロスサイトレプリケーション管理。
  • スキーマ管理。
  • Ickle クエリーでデータコンテナーを検索します。
  • Red Hat SSO と統合して、Data Grid Console にアクセスすると、レルムログインページを使用してクレデンシャルを取得します。

Data Grid コンソールへのアクセスおよびキャッシュの作成に関する詳細は、Data Grid コンソールを使用したキャッシュの作成を参照してください。

2.2.5. REST API

?action URL パラメーターで Data Grid REST API を呼び出すことは、POST メソッドでサポートされるようになりました。応答にコンテンツまたはステータス 204 が含まれていない場合、呼び出しはステータス 200 を返します。

GET メソッドを使用した ?action URL パラメーターのサポートは、削除される予定です。

2.2.6. Hot Rod Java クライアント

URI を使用した設定

Hot Rod Java クライアント設定は、以下の形式で URI をサポートするようになりました。

hotrod[s]://[user[:password]@]host[:port][,host2[:port]][?property=value[&property2=value2]]

これにより、Hot Rod Java クライアント接続を設定するよりコンパクトな方法が提供されます。Hot Rod クライアント設定を参照してください。

自動キャッシュ作成を使用したキャッシュごとの設定

Hot Rod Java クライアントが存在しないキャッシュにアクセスしようとすると、getCache("<cache_name>") 呼び出しに対して null を返します。このデフォルトの動作を変更し、クライアントが XML 形式のキャッシュ設定テンプレートまたは Data Grid キャッシュ定義を使用して、最初のアクセスでキャッシュを自動的に作成できるようにします。

最初のアクセスでのキャッシュの作成を参照してください。

2.2.7. Data Grid クエリー

Data Grid のインデックス化およびクエリー機能には、設定のオーバーヘッドを削減し、データストアを検索する際にパフォーマンスが向上します。

主な変更は以下のとおりです。

  • Data Grid Lucene Directory の非推奨。
  • org.infinispan.query.SearchManager インターフェイスが非推奨になる。

Data Grid は、Apache Lucene および Hibernate Search のネイティブオブジェクトをサポートしなくなりました。org.infinispan.query.Search クラスを、Ickle クエリー言語で文字列ベースの検索のエントリーポイントとして使用します。

重要

Lucene ベースのクエリーなど、非推奨の検索機能の使用と、Ickle クエリー言語で検索を実行するためのエントリーポイントとしての org.infinispan.query.Search クラスの使用を開始する必要があります。

以下を参照してください。

2.2.8. 簡素化された設定

Data Grid 8.1 では、ユーザーオプションが合理化し、宣言型およびプログラムによる設定間の一貫性を向上させるために、複数の設定属性が非推奨になりました。

memory 設定は、Data Grid 8.1 の主な変更点です。これにより、以下を実行するデータコンテナーを設定できます。

  • エントリーを JVM ヒープまたはオフヒープメモリーに格納します。
  • データコンテナーのサイズを制御します。キャッシュが保持可能な最大エントリー数を設定したり、キャッシュが使用できる最大メモリー容量を設定できます。

以前のリリースでは、memory 設定では、エントリーをバイナリー形式で格納するように Data Grid を設定することもできます。ただし、8.1 の時点では、バイナリーストレージ設定は非推奨になりました。代わりに、キャッシュのエンコーディングを定義する必要があります。バイナリーストレージを使用する場合は、キャッシュ定義でバイナリー形式の MediaType を指定します。

2.2.9. 非ブロッキング I/0

Data Grid は、スレッドプールを 2 つに統合します。

  • 非ブロッキングスレッドプール
  • スレッドプールのブロック

本リリースでは、ほぼすべての Data Grid 内部コンポーネントは、ノンブロッキングスレッドプールを使用します。これにより、スループットを高め、レイテンシーが短縮され、I/O ワークロードの全体的な応答性が向上します。

ブロッキング I/O パスでは、ブロックスレッドプールを使用して、ノンブロッキング呼び出しが保持されないようになりました。

NonBlockingStore SPI

Data Grid 8.1 では、永続キャッシュストアを実装するための NonBlockingStore インターフェイスが導入されました。名前が示すように、NonBlockingStore SPI は、呼び出しているスレッドをブロックしてはならないメソッドを公開します。

ブロッキング操作を処理するため、Data Grid は BlockingManager ユーティリティークラスを提供します。

以下を参照してください。

2.2.10. Red Hat JBoss EAP Modules

Red Hat JBoss EAP の Data Grid モジュールは、Red Hat JBoss EAP が infinispan サブシステムを直接管理するまで一時的なソリューションを提供します。

Red Hat JBoss EAP のデータグリッドモジュールを参照してください。