对MongoDB副本集中的投票成员数量感到困惑?

时间:2013-05-17 22:07:34

标签: mongodb database-replication

replica set architecture文章中,建议(最小)配置由以下部分组成:一个主要成员和两个次要成员(或一个次要成员和轻量级仲裁者)。因此两个投票成员

但是你可以阅读以下几行(这是为了“顺利选举”):

  

添加其他成员时,请确保以下体系结构   条件是真的:

     
      
  • 该集合的投票成员数量奇数。

         

    如果您拥有偶数个投票成员,请部署仲裁者以创建奇数。

  •   

如果我是两个甚至,那么建议的最小配置是错误的!偶数选民如何能够引起“不顺利”的选举?在复制品中投票的“不顺畅”是什么?

更多关于这一点:即使将小学作为选民(因此是三个选民,奇数),如果小学毕业,你将最终得到两个选民。如果主要人员失败,他们将如何投票?

1 个答案:

答案 0 :(得分:1)

  

在副本集架构文章中建议(最小)   配置由:一个主要成员和两个次要成员   (或一个次要和轻量级仲裁者)。因此两次投票   成员。

这是不正确的。小学,中学和仲裁者是三票。

因此,您的票数为奇数。因此,如果一个节点关闭,则另外两个节点占多数,并且可以选择新的主节点。

你不应该有一个偶数的原因是,在网络分区的情况下,你不会在网络分区的每一边都有50%的投票成员 - 如果发生这种情况你将没有主要的即使副本集的每个成员实际上都已启动。