在为从 Java 应用程序连接到 MongoDB 副本集指定客户端 URI 时,我对 MongoDB 连接字符串replicaSet选项的使用/需要感到困惑。
我有 3 个运行的 MongoDB 节点实例组成副本集,每个实例都被指定为同一副本集的成员。我想从我的 Java 应用程序连接到副本集。我对我读过的文档感到困惑,当我提供超过 2 个主机名的列表时,是否甚至需要在连接字符串中指定副本集名称。
这是我启动 3 节点 MongoDB 实例的方法。
- Server1$: mongod --replSet " rs0 "
- Server2$: mongod --replSet " rs0 "
- Server3$: mongod --replSet " rs0 "
我假设随后会发生协商,并选出一个主节点,其余的被标记为辅助节点。
然后我想通过我的 Java 应用程序中的 MongoClient 调用连接到副本集。是否需要实际的副本集名称?我需要列出副本集的每个成员,还是 MongoDB 驱动程序只需要副本集的一个成员来确定其余的?
MongoClient mongoClient = new MongoClient(
new MongoClientURI(
"mongodb://Server1,Server2,Server3/?replicaSet=rs0"
)
);
我需要 replicaSet 选项吗?