3.2. Hot Rod クライアント接続の設定
Data Grid Server への Hot Rod Java クライアント接続を設定します。
手順
-
RemoteCacheManagerに渡すか、アプリケーションのクラスパスのhotrod-client.propertiesファイルを使用できることを不変の設定オブジェクトを生成するConfigurationBuilderをクラス使用します。
ConfigurationBuilder
hotrod-client.properties
infinispan.client.hotrod.server_list = 127.0.0.1:11222,192.0.2.0:11222 infinispan.client.hotrod.auth_username = username infinispan.client.hotrod.auth_password = changeme infinispan.client.hotrod.auth_realm = default infinispan.client.hotrod.sasl_mechanism = SCRAM-SHA-512
infinispan.client.hotrod.server_list = 127.0.0.1:11222,192.0.2.0:11222
infinispan.client.hotrod.auth_username = username
infinispan.client.hotrod.auth_password = changeme
infinispan.client.hotrod.auth_realm = default
infinispan.client.hotrod.sasl_mechanism = SCRAM-SHA-512
Hot Rod URI の設定
次のように、URI を使用して Hot Rod クライアント接続を設定することもできます。
ConfigurationBuilder
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.uri("hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512");
RemoteCacheManager cacheManager = new RemoteCacheManager(builder.build());
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.uri("hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512");
RemoteCacheManager cacheManager = new RemoteCacheManager(builder.build());
hotrod-client.properties
infinispan.client.hotrod.uri = hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512
infinispan.client.hotrod.uri = hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512
クラスパスの外部へのプロパティーの追加
hotrod-client.properties ファイルがアプリケーションのクラスパスにない場合は、次の例のように場所を指定する必要があります。
3.2.1. クライアント設定での Data Grid クラスターの定義 リンクのコピーリンクがクリップボードにコピーされました!
Hot Rod クライアント設定で Data Grid クラスターの場所を指定します。
手順
ClusterConfigurationBuilderクラスを使用して、少なくとも 1 つのノードのホスト名とポートとともに少なくとも 1 つの Data Grid クラスター名を指定します。クラスターをデフォルトとして定義し、クライアントが常に最初にクラスターに接続を試みるようにする場合は、
addServers("<host_name>:<port>; <host_name>:<port>")メソッドを使用してサーバーリストを定義します。
複数のクラスター接続
フェイルオーバークラスターを含むデフォルトのサーバーリスト
ConfigurationBuilder clientBuilder = new ConfigurationBuilder();
clientBuilder.addServers("hostA1:11222; hostA2:11222")
.addCluster("siteB")
.addClusterNodes("hostB1:11222; hostB2:11223");
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
ConfigurationBuilder clientBuilder = new ConfigurationBuilder();
clientBuilder.addServers("hostA1:11222; hostA2:11222")
.addCluster("siteB")
.addClusterNodes("hostB1:11222; hostB2:11223");
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
3.2.2. Data Grid クラスターの手動切り替え リンクのコピーリンクがクリップボードにコピーされました!
Data Grid クラスター間で Hot Rod Java クライアント接続を手動で切り替えます。
手順
RemoteCacheManagerクラスで次のいずれかのメソッドを呼び出します。switchToCluster(clusterName)は、クライアント設定で定義された特定のクラスターに切り替えます。switchToDefaultCluster()は、Data Grid サーバーのリストとして定義されているクライアント設定のデフォルトクラスターに切り替えます。
3.2.3. 接続プールの設定 リンクのコピーリンクがクリップボードにコピーされました!
Hot Rod Java クライアントは、Data Grid サーバーへの永続的な接続のプールを保持して、要求ごとに TCP 接続を作成するのではなく、TCP 接続を再利用します。
手順
- 次の例のように、Hot Rod クライアント接続プール設定を設定します。
ConfigurationBuilder
hotrod-client.properties
これらの設定オプションにより、プールをきめ細かく制御できます。アプリケーションのニーズに応じて、プールをチューニングすることを推奨します。そうしないと、新しい接続を開くときに待ち時間が増加したり、利用可能な接続が少なくなってスループットが低下したりする可能性があります。
ロードが急増すると、大きなプールは新しい接続で「群集効果」が発生する可能性があります。ただし、リクエストに対応する接続が増えると、スループットが向上するはずです。小さいプールはこの影響を回避するため、消費されるリソースが少なくなります。ただし、処理できるリクエスト数が制限されるため、上限に達するとパフォーマンスが低下し始めます。