Mongodb MongoClientURI连接字符串中是否需要复制集名称?
当从Java应用程序指定连接到MongoDB副本集的客户端URI时,我对MongoDB连接字符串选项的使用/需要感到困惑 我有3个运行的MongoDB节点实例,包括副本集,每个实例都被指定为同一副本集的成员。我想从Java应用程序连接到副本集。当我给出一个包含2个以上主机名的列表时,如果有必要在连接字符串中指定副本集名称,我对我所阅读的文档感到困惑 下面是如何启动我的3节点MongoDB实例Mongodb MongoClientURI连接字符串中是否需要复制集名称?,mongodb,mongodb-replica-set,Mongodb,Mongodb Replica Set,当从Java应用程序指定连接到MongoDB副本集的客户端URI时,我对MongoDB连接字符串选项的使用/需要感到困惑 我有3个运行的MongoDB节点实例,包括副本集,每个实例都被指定为同一副本集的成员。我想从Java应用程序连接到副本集。当我给出一个包含2个以上主机名的列表时,如果有必要在连接字符串中指定副本集名称,我对我所阅读的文档感到困惑 下面是如何启动我的3节点MongoDB实例 Server1$:mongod--replSet“rs0” Server2$:mongod--replS
MongoClient MongoClient=新的MongoClient(
新蒙哥克利努里酒店(
"mongodb://Server1,Server2,Server3/?replicaSet=rs0“
)
);
我是否需要replicaSet选项?如果不指定replicaSet,它将以“独立”模式连接,并且您将丢失应用程序端的replicaSet功能(无故障切换)。因此,如果要将连接到的服务器故障切换到另一台服务器,则应用程序将不会跟随并重新连接到新的主服务器 从: 连接到副本集时,提供种子列表非常重要 至少有两个mongod实例。如果你只提供连接 指向单个mongod实例,省略replicaSet和客户端 将创建独立连接
当前的文档不再这样说,但即使在您引用的版本中,它也会说“如果您只提供单个mongod实例的连接点,并且…”。这会让人相信,如果您提供了多个连接点,那么可以忽略replicaSet参数。