Data Grid での RESP プロトコルエンドポイントの使用
Data Grid RESP エンドポイントを使用してリモートキャッシュと対話する
概要
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章 RESP エンドポイントの使用
Data Grid サーバーには、RESP3 プロトコル を実装する実験的なモジュールが含まれています。RESP エンドポイントを使用すると、Redis クライアントは 1 つまたは複数の Data Grid がサポートする RESP サーバーに接続し、キャッシュ操作を実行できます。
RESP プロトコルエンドポイントは、テクノロジープレビュー機能として利用できます。
1.1. テクノロジープレビュー
テクノロジープレビュー機能は、Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全でない可能性があります。
Red Hat は、テクノロジープレビュー機能の実稼働環境での使用を推奨していません。この機能により、近日発表予定の製品機能をリリースに先駆けてご提供でき、お客様は開発プロセス時に機能をテストして、フィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
1.2. RESP エンドポイントの有効化
resp-connector
を Data Grid サーバー設定に追加して、RESP エンドポイントを有効にします。次の方法で RESP エンドポイントを有効にできます。
- スタンドアロンの Data Grid サーバーデプロイメントは、各サーバーインスタンスが互いに独立して実行されるスタンドアロンの Redis とまったく同じです。
- サーバーインスタンスが相互にデータを複製または分散する、クラスター化された Data Grid サーバーデプロイメント。クラスター化されたデプロイメントは、クライアントにフェイルオーバー機能を提供します。
前提条件
- Data Grid Server をインストールします。
手順
- Data Grid Server 設定を開いて編集します。
必要に応じて、キャッシュ設定を
cache-container
セクションに追加します。キャッシュ設定では、RESP プロトコルに違反する機能を有効にすることはできません。たとえば、RESP エンドポイントのキャッシュに有効期限の値を指定すると、起動時に致命的なエラーが発生します。
ヒントData Grid コンソールでキャッシュエントリーを表示する場合は、キャッシュを Protobuf エンコーディングで設定します (
encoding media-type="application/x-protostream"
)。-
設定に
endpoint
宣言を追加します。 resp-connector
要素を追加し、cache
属性を使用して RESP コネクターで使用するキャッシュの名前を指定します。RESP エンドポイントで使用できるキャッシュは 1 つだけです。
-
必要に応じて、
security-realm
属性を使用して、RESP エンドポイントで使用するセキュリティーレルムを宣言します。 - エンドポイント宣言で Hot Rod および REST コネクターも追加されていることを確認してください。
- 変更を設定に保存します。
検証
Data Grid サーバーを起動するときに、次のログメッセージを確認します。
[org.infinispan.SERVER] ISPN080018: Started connector Resp (internal)
Redis クライアントを使用して RESP エンドポイントに接続できるようになりました。たとえば、Redis CLI を使用すると、次のようにしてエントリーをキャッシュに追加できます。
redis-cli -p 11222 --user username --pass password
127.0.0.1:11222> SET k v OK 127.0.0.1:11222> GET k "v" 127.0.0.1:11222> quit
RESP エンドポイント設定
XML
<endpoints> <endpoint socket-binding="default" security-realm="default"> <resp-connector cache="mycache" /> <hotrod-connector /> <rest-connector/> </endpoint> </endpoints>
JSON
{ "server": { "endpoints": { "endpoint": { "socket-binding": "default", "security-realm": "default", "resp-connector": { "cache": "mycache" }, "hotrod-connector": {}, "rest-connector": {} } } } }
YAML
server: endpoints: endpoint: socketBinding: "default" securityRealm: "default" respConnector: cache: "mycache" hotrodConnector: ~ restConnector: ~
1.3. Redis コマンド
Data Grid RESP エンドポイントは、次の Redis コマンドを実装します。