Java アプリケーションから MongoDB レプリカ セットに接続するためのクライアント URI を指定するときに、MongoDB 接続文字列のreplicaSetオプションの使用/必要性について混乱しています。
レプリカ セットを構成する MongoDB の 3 つのノード インスタンスが実行されており、それぞれが同じレプリカ セットのメンバーとして指定されています。Java アプリケーションからレプリカ セットに接続したいと考えています。2 つ以上のホスト名のリストを提供するときに、接続文字列でレプリカ セット名を指定する必要さえある場合、私が読んだドキュメントから混乱しています。
3 ノードの MongoDB インスタンスを開始する方法は次のとおりです。
- Server1$: mongod --replSet " rs0 "
- Server2$: mongod --replSet " rs0 "
- Server3$: mongod --replSet " rs0 "
その後、交渉が行われ、プライマリが選出され、残りがセカンダリとしてマークされると仮定します。
次に、Java アプリケーションから MongoClient 呼び出しを介してレプリカ セットに接続します。実際のレプリカ セット名も必要ですか? また、レプリカ セットの各メンバーを一覧表示する必要がありますか?それとも、MongoDB ドライバーがレプリカ セットの 1 つのメンバーだけで残りを判断する必要がありますか?
MongoClient mongoClient = new MongoClient(
new MongoClientURI(
"mongodb://Server1,Server2,Server3/?replicaSet=rs0"
)
);
replicaSet オプションは必要ですか?