1

クラスタ/セッションが接続されている/有効/OKかどうかを直接確認する方法はありますか?

つまり、終わりのないスレッドに作成された com.datastax.driver.core.Session があり、必要なたびにセッションが正常であることを保証したいと考えています。次のクラスター初期化を使用しますが、これで十分かどうかはわかりません...

Cluster.builder().addContactPoint(url)
.withRetryPolicy(DowngradingConsistencyRetryPolicy.INSTANCE)
.withReconnectionPolicy(new ConstantReconnectionPolicy(1000L)).build());
4

2 に答える 2

2

実際、DataStax Java Driver を使用すると、隠された/魔法の機能が組み込まれています。

ドライバーは、完全なネットワーク トポロジ (データセンター間のノード トポロジとノードの可用性) を認識しています。

したがって、いくつかのノード ( 1 ) でクラスターを初期化するだけで、少なくとも 1 つの使用可能なノードがあれば、要求が正しく実行されることを常に確認できます。ドライバーはトポロジーに対応しているため、1 つのノード (初期化ノードも含む) が利用できなくなると、ドライバーは自動的にリクエストを別の利用可能なノードにルーティングします。

要約すると、あなたのコードは良いものです( 1 )。

( 1 ): クラスターの初期化フェーズで耐障害性を持たせるために、いくつかのノードを提供する必要があります。実際、1 つの初期化ノードがダウンしている場合、ドライバーは別のノードに接続して完全なトポロジを検出する可能性があります。

于 2013-09-05T21:31:38.547 に答える