mongodb文档建议副本集应该有奇数个投票 node .原因是什么?

推荐答案

让我们假设一个副本集有偶数个 node (例如4个).然后发生了一个不幸的网络分区,将集合拆分为两半(2+2).哪个分区应该接受写操作?第一第二二者都当网络恢复时会发生什么?这些都是很难回答的问题.

拥有奇数个 node 可以完全消除这些问题.布景不能一分为二.因此,更大的部分将接受写操作(确切地说, node 必须看到超过一半的 node (包括self)被选为主 node ).所以是1/1,3/2,5/3,7/4等等).

Mongodb相关问答推荐

如何联接Mongoose中的集合并检索特定字段

MongoDB与合并对象聚合

MongoDB:如何从数组中的所有对象中删除属性?

mongodb.将文档分组在数组中,对它们进行评分计数和求和并添加新字段

从 MongoDB 中的聚合结果中获取不同的值

(MongoDB)在同一管道中结合联合和交集

查询有关 Go 项目中对象数组的 MongoDb 集合

如何在 MongoDB 中存储时间?作为字符串?给出任意年/月/日?

mongoose默认值等于其他值

使用 Spring Boot >= 2.0.1.RELEASE 将 ZonedDateTime 保存到 MongoDB 时出现 CodecConfigurationException

MongoDB - 清除嵌套数组中的元素

Mongoose 中不同集合的相同模式

如果我在 MongoDB 上使用 LINQ,为什么会失go 性能?

Mongoose / MongoDB 用户通知方案建议

在安装的 MongoDB homebrew 中设置 dbpath (Mac OS)

mongodb:upserting:仅在插入文档时设置值

MongoDB MapReduce - 发出一个键/一个值不调用reduce

在 Ubuntu 13.10 (saucy) 中安装 Mongodb PHP 扩展的最简单方法?

我在更新中对 $set 和 $inc 做错了什么

AsQueryable 方法是否在新的 Mongodb C# 驱动程序 2.0rc 中离开?