【问题标题】:Mongodb replica set odd member count vs even member count + an arbiterMongodb副本集奇数成员数与偶数成员数+仲裁器
【发布时间】:2013-11-26 10:35:57
【问题描述】:

我已经阅读了很多关于 mongodb 副本集以及选举如何在故障转移中工作的内容。我的好奇心是假设客户只会使用 readPreference 设置为主要,拥有奇数成员而不是拥有偶数成员 + 1 仲裁者有什么优势吗?

例如,如果您有 3 个成员的副本集,您可以将所有 3 个成员设置为副本,或者您可以只有 2 个副本和一个仲裁器(您可以将其安装在较小的机器上)。安全性基本一样,任何机器都可以宕机,副本集还可以,但是如果其中两台宕机,副本集就相持不下(无法选举新的primary)。 唯一的区别是,在第二种情况下,您可以为仲裁器使用更小的机器。

【问题讨论】:

  • 2k 会员?像2000?我想区别在于数据的冗余
  • 2k 在 2k 中是偶数,2k + 1 是奇数(k 可以是任何自然数)。这就是我记得在学校描述奇数和偶数的方式。

标签: mongodb replication


【解决方案1】:

实际上,三个数据保存节点提供与两个数据保存节点加一个仲裁器相同的“安全”网是不正确的。

考虑这些情况:

1) 您的一个节点丢失了磁盘,您需要完全重新同步它。如果您有三个数据保存节点,您可以从另一个辅助节点而不是主节点重新同步(这将减少主节点的负载)。

2) 你的一个节点丢失了它的磁盘,你需要一段时间才能找到一个新的。当第二个节点关闭时,如果您有两个节点和一个仲裁器,那么您将使用零安全网运行,因为您只有一个节点还剩下数据,如果它发生任何事情,您就完蛋了。

【讨论】:

  • 感谢您的解释。我在考虑更高层次的机器可以使用或者它可以关闭。所以好处是你有另一个数据副本,你可以将它用作备份存储,以防磁盘发生任何事情。
  • 完全正确。投票的情况是一样的。但是如果你有资源让奇数​​(最后一个)节点保存数据的副本,那么你有一个额外的数据副本!
猜你喜欢
  • 1970-01-01
  • 2022-01-26
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
相关资源
最近更新 更多