13.4. Hot Rod インターフェースコネクター
Red Hat JBoss Data Grid は、以下の 3 つのコネクタータイプをサポートします。
- Hot Rod ベースコネクターの設定を定義する
hotrod-connector要素。 - memcached ベースコネクターの設定を定義する
memcached-connector要素。 - REST インターフェースベースのコネクターの設定を定義する
rest-connector要素。
コネクターの宣言により、
<socket-binding-group /> 内で宣言されたソケットバインディングを使用し、local コンテナーで宣言されたキャッシュを公開し、他のすべての設定でデフォルト値を使用して Hot Rod、Memcached、または REST サーバーが有効になります。以下の例は、Hot Rod、Memcached、および REST サーバーに接続する方法を示しています。
以下により、
hotrod ソケットバインディングを使用して Hot Rod サーバーが有効になります。
<hotrod-connector socket-binding="hotrod" cache-container="local" />
コネクターは、サポートするトポロジーキャッシュをデフォルト設定で作成します。これらの設定は、以下のように
<topology-state-transfer /> 子要素をコネクターに追加することにより、調整できます。
<hotrod-connector socket-binding="hotrod" cache-container="local"> <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" /> </hotrod-connector>
Hot Rod コネクターは追加の設定で調整できます。Hot Rod コネクターの設定方法の詳細については、「Hot Rod コネクターの設定」を参照してください。
注記
Hot Rod コネクターは SSL を使用してセキュアにできます。詳細については、『Developer Guide』の「Hot Rod Authentication Using SASL」を参照してください。
13.4.1. Hot Rod コネクターの設定
次の手順は、Red Hat JBoss Data Grid のリモートクライアントサーバーモードで Hot Rod コネクターを設定するために使用する属性を示しています。
hotrod-connector 要素と topology-state-transfer 要素は、次の手順に基いて設定する必要があります。
手順13.1 リモートクライアントサーバーモード用 Hot Rod コネクターの設定
<subsystem xmlns="urn:infinispan:server:endpoint:6.1">
<hotrod-connector socket-binding="hotrod"
cache-container="local"
worker-threads="${VALUE}"
idle-timeout="${VALUE}"
tcp-nodelay="${TRUE/FALSE}"
send-buffer-size="${VALUE}"
receive-buffer-size="${VALUE}" />
<topology-state-transfer lock-timeout"="${MILLISECONDS}"
replication-timeout="${MILLISECONDS}"
external-host="${HOSTNAME}"
external-port="${PORT}"
lazy-retrieval="${TRUE/FALSE}"
await-initial-transfer="${TRUE/FALSE}" />
</subsystem>hotrod-connector要素は、Hot Rod で使用する設定要素を定義します。socket-bindingパラメーターは、Hot Rod コネクターで使用されるソケットバインディングポートを指定します。これは必須パラメーターです。cache-containerパラメーターは、Hot Rod コネクターで使用されるキャッシュコンテナーを指定します。これは必須パラメーターです。worker-threadsパラメーターは、Hot Rod コネクターで利用可能なワーカースレッドの数を指定します。このパラメーターのデフォルト値は、160です。これはオプションパラメーターです。idle-timeoutパラメーターは、接続がタイムアウトするまでコネクターがアイドル状態のままになる時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は-1です (タイムアウト期間が設定されません)。これは、オプションパラメーターです。tcp-no-delayパラメーターは、TCP パケットが遅延され一括して送信されるかを指定します。このパラメーターの有効な値はtrueとfalseになります。このパラメーターのデフォルト値は、trueです。これはオプションパラメーターです。send-buffer-sizeパラメーターは、Hot Rod コネクターの送信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。receive-buffer-sizeパラメーターは、Hot Rod コネクターの受信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。
topology-state-transfer要素は、Hot Rod コネクターのトポロジー状態転送設定を指定します。この要素はhotrod-connector要素内でのみ使用できます。lock-timeoutパラメーターは、ロックを取得しようとする操作がタイムアウトする時間を指定します。このパラメーターのデフォルト値は10秒です。これはオプションパラメーターです。replication-timeoutパラメーターは、レプリケーション操作がタイムアウトする時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は10秒です。これはオプションパラメーターです。external-hostパラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するホスト名を指定します。このパラメーターのデフォルト値は、ホストアドレスです。これはオプションパラメーターです。external-portパラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するポートを指定します。このパラメーターのデフォルト値は、設定されたポートです。これはオプションパラメーターです。lazy-retrievalパラメーターは、Hot Rod コネクターが取得操作をレイジーに実行するかどうかを指定します。このパラメーターのデフォルト値はtrueです。これはオプションパラメーターです。await-initial-transferパラメーターは、初期状態の取得を起動時にすぐに行うかどうかを指定します。このパラメーターは、lazy-retrievalがfalseに設定されている場合のみ適用されます。このパラメーターのデフォルト値はtrueです。