Data Grid コードチュートリアル
Data Grid 機能の使用方法を学ぶ
概要
Red Hat Data Grid
Data Grid は、高性能の分散型インメモリーデータストアです。
- スキーマレスデータ構造
- さまざまなオブジェクトをキーと値のペアとして格納する柔軟性があります。
- グリッドベースのデータストレージ
- クラスター間でデータを分散および複製するように設計されています。
- エラスティックスケーリング
- サービスを中断することなく、ノードの数を動的に調整して要件を満たします。
- データの相互運用性
- さまざまなエンドポイントからグリッド内のデータを保存、取得、およびクエリーします。
Data Grid のドキュメント
Data Grid のドキュメントは、Red Hat カスタマーポータルで入手できます。
Data Grid のダウンロード
Red Hat カスタマーポータルで Data Grid Software Downloads にアクセスします。
Data Grid ソフトウェアにアクセスしてダウンロードするには、Red Hat アカウントが必要です。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 リモートキャッシュ
複数の Data Grid Server インスタンスをデプロイし、リモートキャッシュクラスターを作成します。これにより、Hot Rod および REST クライアントからの高速アクセスで、耐障害性があり、スケーラブルなデータ層が提供されます。
1.1. リモートキャッシュチュートリアル
これらのチュートリアルを実行するには、Data Grid Server のインスタンスを少なくとも 1 つローカルで実行する必要があります。
ディストリビューションを ダウンロード し、以下のコマンドを実行します。
$ ./bin/cli.sh user create admin -p "password" $ ./bin/server.sh
Data Grid Server は、デフォルトで認証および承認を有効にします。admin
という名前のユーザーを作成すると、Infinispan サーバーへの管理アクセスが提供されます。
リモートキャッシュチュートリアルの構築および実行
次のように、IDE で直接、またはコマンドラインから、リモートキャッシュチュートリアルを構築して実行することができます。
$ mvn -s /path/to/maven-settings.xml clean package exec:exec
1.2. Hot Rod Java クライアントチュートリアル
- Hot Rod Java クライアントには JDK 8 以降が必要です。ただし、Data Grid は、最低でも Java 11 を使用することを推奨します。
チュートリアルのリンク | 説明 |
---|---|
リモート分散キャッシュの動作を示す最も単純なコードサンプル。 | |
Data Grid Server に接続するときに動的にキャッシュを設定する方法を示します。 | |
リモートキャッシュの読み取りパフォーマンスを改善するために、ニアキャッシュの設定方法を示します。 | |
管理 API を使用して、キャッシュとキャッシュテンプレートを動的に作成する方法を示します。 | |
キャッシュのエンコーディングがどのように機能するかを示します。 | |
クライアントリスナーを使用して、リモートキャッシュ内のデータが変更されたことを検出します。 | |
リモートキャッシュ値をクエリーする方法を示します。 | |
継続的なクエリーおよびリモートキャッシュの使用方法を示します。 | |
リモートトランザクションの仕組みを示します。 | |
承認が有効になっているキャッシュの設定方法を示します。 | |
TLS 承認を使用して Data Grid Server に接続する方法を示します。 | |
リモートカウンターの仕組みを示します。 | |
リモートマルチマップの仕組みを示します。 | |
サーバータスクを登録する方法と、Hot Rod クライアントからの実行方法を示します。 | |
Data Grid および JUnit 5 拡張機能の使用方法を示します。 | |
Data Grid と永続キャッシュの使用方法を示します。 |
Data Grid のドキュメント
Hot Rod Java クライアントのリソースの詳細については、以下のドキュメントを参照してください。
第2章 組み込みキャッシュ
Java プロジェクトへの依存関係として Data Grid を追加し、アプリケーションのパフォーマンスを向上させ、複雑なユースケースを処理する機能を提供する組み込みキャッシュを使用します。
2.1. 組み込みキャッシュチュートリアル
以下のように、組み込みキャッシュチュートリアルは、IDE で直接、またはコマンドラインから実行できます。
$ mvn -s /path/to/maven-settings.xml clean package exec:exec
チュートリアルのリンク | 説明 |
---|---|
分散キャッシュの仕組みを示します。 | |
レプリケートされたキャッシュの仕組みを示します。 | |
無効化されたキャッシュの仕組みを示します。 | |
トランザクションの仕組みを示します。 | |
分散ストリームの仕組みを示します。 | |
JCache の仕組みを示します。 | |
Functional Map API の仕組みを示します。 | |
Map API が Data Grid キャッシュとどのように機能するかを示します。 | |
マルチマップの使用方法を示します。 | |
Data Grid Query を使用して、キャッシュ値でフルテキストクエリーを実行します。 | |
クラスター化されたリスナーを使用して組み込みキャッシュ内のデータが変更されたことを検出します。 | |
組み込みのクラスター化カウンターの使用方法を示します。 | |
組み込みのクラスター化ロックの使用方法を示します。 | |
組み込みのクラスター化カウンターの使用方法を示します。 |
Data Grid のドキュメント
組み込みキャッシュのリソースの詳細については、以下のドキュメントを参照してください。
第3章 Spring および Spring Boot
3.1. Spring および Spring Boot のチュートリアル
これらのコードチュートリアルでは、Data Grid Server を使用し、1 つ以上の実行中のインスタンスが必要です。
Spring サンプルの実行
$ mvn -s /path/to/maven-settings.xml package exec:exec
Spring Boot サンプルの実行
$ mvn -s /path/to/maven-settings.xml spring-boot:run
actuator 統計の表示
ブラウザーでhttp://localhost:8080/actuator/metrics
に移動し、利用可能なメトリクスの一覧を表示します。キャッシュメトリクスの前に cache が付けられます。タグを使用して各キャッシュの各メトリックを表示します。たとえば、basque-names キャッシュの puts 統計の場合は、以下のようになります。
http://localhost:8080/actuator/metrics/cache.puts?tag=name:basque-names
Prometheus を使用した統計の収集
このプロジェクトの prometheus.yml
ファイルには、Prometheus が Spring アクチュエーターが公開するメトリクスを取得できるように、host.docker.internal バインディングが含まれます。
以下のコマンドの YOUR_PATH
の値を、Prometheus が実行されているディレクトリーに変更してから実行します。
Podman
$ podman run -d --name=prometheus -p 9090:9090 -v YOUR_PATH/integrations/spring-boot/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
チュートリアルのリンク | 説明 |
---|---|
Spring Boot と Data Grid Server で Spring Cache を使用する方法を示します。 | |
Spring Boot と Data Grid Server で Spring Session を使用する方法を示します。 | |
Spring Boot および Data Grid Embedded で Spring Cache を使用する方法を示します。 | |
Spring Boot および Data Grid Embedded で Spring Session を使用する方法を示します。 | |
Spring Boot なしで組み込まれた Spring Cache と Data Grid の使用方法を示します。 | |
Spring Boot なしで組み込まれた Spring Session と Data Grid の使用方法を示します。 |
Data Grid のドキュメント
その他の資料は、以下のドキュメントを参照してください。