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 コネクターの設定
hotrod-connector要素hotrod-connector要素は、Hot Rod で使用する設定要素を定義します。socket-bindingパラメーターsocket-bindingパラメーターは、Hot Rod コネクターで使用されるソケットバインディングポートを指定します。これは必須パラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <hotrod-connector socket-binding="hotrod" />cache-containerパラメーターcache-containerパラメーターは、Hot Rod コネクターで使用されるキャッシュコンテナーを指定します。これは必須パラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <hotrod-connector socket-binding="hotrod" cache-container="local" />worker-threadsパラメーターworker-threadsパラメーターは、Hot Rod コネクターで利用可能なワーカースレッドの数を指定します。このパラメーターのデフォルト値は、160です。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <hotrod-connector socket-binding="hotrod" cache-container="local" worker-threads="${VALUE}" />idle-timeoutパラメーターidle-timeoutパラメーターは、接続がタイムアウトするまでコネクターがアイドル状態のままになる時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は-1です (タイムアウト期間が設定されません)。これは、オプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <hotrod-connector socket-binding="hotrod" cache-container="local" worker-threads="${VALUE}" idle-timeout="${VALUE}"/>tcp-nodelayパラメーターtcp-no-delayパラメーターは、TCP パケットが遅延され一括して送信されるかを指定します。このパラメーターの有効な値はtrueとfalseになります。このパラメーターのデフォルト値は、trueです。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <hotrod-connector socket-binding="hotrod" cache-container="local" worker-threads="${VALUE}" idle-timeout="${VALUE}" tcp-nodelay="${TRUE/FALSE}" />send-buffer-sizeパラメーターsend-buffer-sizeパラメーターは、Hot Rod コネクターの送信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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パラメーターreceive-buffer-sizeパラメーターは、Hot Rod コネクターの受信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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要素topology-state-transfer要素は、Hot Rod コネクターのトポロジー状態転送設定を指定します。この要素はhotrod-connector要素内でのみ使用できます。lock-timeoutパラメーターlock-timeoutパラメーターは、ロックを取得しようとする操作がタイムアウトする時間を指定します。このパラメーターのデフォルト値は10秒です。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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パラメーターreplication-timeoutパラメーターは、レプリケーション操作がタイムアウトする時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は10秒です。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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パラメーターexternal-hostパラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するホスト名を指定します。このパラメーターのデフォルト値は、ホストアドレスです。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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パラメーターexternal-portパラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するポートを指定します。このパラメーターのデフォルト値は、設定されたポートです。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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パラメーターlazy-retrievalパラメーターは、Hot Rod コネクターが取得操作をレイジーに実行するかどうかを指定します。このパラメーターのデフォルト値はtrueです。これはオプションパラメーターです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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}" /> </subsystem>await-initial-transferパラメーターawait-initial-transferパラメーターは、初期状態の取得を起動時にすぐに行うかどうかを指定します。このパラメーターは、lazy-retrievalがfalseに設定されている場合のみ適用されます。このパラメーターのデフォルト値はtrueです。<subsystem xmlns="urn:infinispan:server:endpoint:6.0"> <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>