15.4.5. エンドポイント

クライアントは、キャッシュ設定で定義する REST、Hot Rod、および Memcached エンドポイント経由で Data Grid にアクセスできます。

Data Grid for OpenShift と同じプロジェクトで実行されるクライアントは、Hot Rod を介してキャッシュにアクセスし、全クラスタービューを受け取ることができます。これらのクライアントは、一貫性のあるハッシュ機能を使用することもできます。

ただし、クライアントが Data Grid for OpenShift とは別のプロジェクトで実行する場合は、Hot Rod エンドポイントを外部に公開する OpenShift サービスを使用して Data Grid クラスターにアクセスする必要があります。ネットワーク設定によっては、クライアントは一部の Pod にアクセスできない可能性があり、BASIC クライアントのインテリジェンスを使用する必要があります。この場合、クライアントはデータにアクセスするために追加のネットワークホップが必要になる可能性があり、ネットワークレイテンシーが長くなる可能性があります。

OpenShift で実行されているクライアントへの外部アクセスには、パススルー暗号化中断が含まれるルートが必要です。クライアントは、BASIC クライアントインテリジェンスと完全修飾ドメイン名も TLS/SNI ホスト名として使用する必要があります。または、外部で利用可能なロードバランサーサービスの背後にある Data Grid クラスターを公開できます。

以下の環境変数でエンドポイントを設定します。

INFINISPAN_CONNECTORS
設定するコネクターのコンマ区切りリストを定義します。デフォルトは hotrodmemcachedrest です。認可または認証がキャッシュで有効になっている場合には、このプロトコルは本来、安全ではないため、memcached を削除する必要があります。
MEMCACHED_CACHE
Memcached コネクターのキャッシュ名を設定します。CACHE_NAMES 環境変数でキャッシュ名が指定されていない場合には、デフォルトで memcached に設定されます。
HOTROD_SERVICE_NAME

外部 Hot Rod コネクターの OpenShift サービスの名前を定義します。

外部の Hot Rod コネクターは、この環境変数を定義する場合に限りデプロイメント設定のテンプレートで使用できます。cache-service および datagrid-service は、外部の Hot Rod コネクターを使用しません。

たとえば、HOTROD_SERVICE_NAME=DATAGRID_APP_HOTROD を設定すると、Hot Rod 外部コネクターは DATAGRID_APP_HOTROD:11333 を返します。

REST_STORE_AS_STRING

REST API 経由でキャッシュに書き込まれたときに、Data Grid がエントリーを Java 文字列として保存するかどうかを指定します。この値は true または false(デフォルト)です。

以前のバージョンからイメージをアップグレードして、永続化されたキャッシュエントリーを読み取る予定がある場合は、値を true に設定します。

注記

Data Grid バージョン 7.1 以前: REST エンドポイント経由でキャッシュにエントリーを書き込むと、Data Grid は Java 文字列として格納します。

Data Grid バージョン 7.2 以降: Data Grid は、キャッシュエントリーを bytes[] として保存し、クライアントとプロトコル間のデータの相互運用性を有効にします。

Data Grid for OpenShift イメージをバージョン 7.2 以降にアップグレードする場合は、データストアに永続化されたキャッシュエントリーを読み取ろうとすると、Data Grid は null 値を返します。null 値を解決するには、REST_STORE_AS_STRING=true を設定します。