java - 带种子的 MongoClient 构造函数

标签 java mongodb database-replication

假设我有一个副本集,其中包含一个主 P 和三个辅助 S1S2S3 。假设应用程序使用此 constructor 创建一个 Mongo 客户端。 。 种子列表为{PS1S2}。请注意,该列表不包含 S3

假设应用程序使用 secondPreferred 并且 S1S2 均已关闭。查询会转到 P 还是 S3

javadoc说它将找到所有成员(默认情况下将使用master),我猜查询将转到S3。这是对的吗 ?

最佳答案

种子列表就是这样,驱动程序将查询该列表以了解副本集的映射。这意味着它实际上可以使用不在该列表中的成员,即它可以使用 S3

当驱动程序必须通过故障转移或启动来检测副本集中的更改时,它将查询种子列表的成员之一以获取基本的 rs.status() 和它会将结果存储在驱动程序认为值得刷新的一段时间内,或者发生迫使驱动程序刷新它的情况(即故障转移)。

所以答案是肯定的,它将用于 S3

关于java - 带种子的 MongoClient 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932850/

相关文章:

java - 构建DOM文档对象时文件过早结束错误

mongodb - 启动 mongod.exe 时,出现缺少 api-ms-win-crt-runtime-l1-1-0.dll 的错误

arrays - MongoDB:使用 2 个嵌套数组更新文档中的平均值

javascript - MongoDB 将 [{k1 :v1}, {k2:v2}] 转换为 {v1: v2}

oracle - 从规模相当大(400 GB)的生产数据库创建测试数据库(包含所有数据)的最快方法是什么?

java - 我的按钮第一次可以计算方程式,但在编辑文本字段中输入新数字后第二次就不行了

javascript - Spring RSocket Security + RSocket-WebSocket-Client(浏览器)

java - 当应用程序重新打开和关闭时 Android 服务停止

linux - Linux 中的 Mongodb 复制错误

postgresql - 您可以进行 PostgreSQL 逻辑复制以使源表和目标表名称不同吗?