29.5. Hot Rod サイト間クラスターフェールオーバー
クラスター内のフェールオーバーに加えて、Hot Rod クライアントは、それぞれが独立したサイトを表す異なるクラスターにフェールオーバーできます。Hot Rod サイト間クラスターフェールオーバーは自動および手動モードの両方で利用できます。
自動サイト間フェールオーバー
メイン/プライマリークラスターノードが利用できない場合、クライアントアプリケーションは、代替方法で定義されたクラスターをチェックし、それらへのフェールオーバーを試行します。フェイルオーバーが正常に実行されると、クライアントはその代替クラスターが利用不可になるまでそのクラスターに接続されたままになります。その後、クライアントは他の定義済みクラスターにフェールオーバーし、接続が復元される場合は最終的に元のサーバー設定を持つメイン/プライマリークラスターに切り替わります。
Hot Rod クライアントに代替クラスターを設定するには、以下の例が示す設定済みクラスターのそれぞれに対して 1 つ以上のホスト/ポートのペアの詳細情報を指定します。
例29.5 代替クラスターの設定
org.infinispan.client.hotrod.configuration.ConfigurationBuilder cb
= new org.infinispan.client.hotrod.configuration.ConfigurationBuilder();
cb.addCluster("remote-cluster").addClusterNode("remote-cluster-host", 11222);
RemoteCacheManager rcm = new RemoteCacheManager(cb.build());
org.infinispan.client.hotrod.configuration.ConfigurationBuilder cb
= new org.infinispan.client.hotrod.configuration.ConfigurationBuilder();
cb.addCluster("remote-cluster").addClusterNode("remote-cluster-host", 11222);
RemoteCacheManager rcm = new RemoteCacheManager(cb.build());
注記
クラスター定義を問わず、デフォルトのサーバーホストおよびポートの詳細を使用して初期サーバーが解決されない場合は初期サーバー設定を指定する必要があります。
手動によるサイト間クラスターフェールオーバー
手動のサイト間のクラスターフェールオーバーについては、RemoteCacheManager の switchToCluster(clusterName) または switchToDefaultCluster() を呼び出します。
switchToCluster(clusterName) を使用して、ユーザーはクライアントに対し、Hot Rod クライアント設定で事前に定義されたクラスターのいずれかに切り換えるよう強制実行できます。クライアント設定で定義された初期サーバーに切り換えるには、switchToDefaultCluster() を呼び出します。