16

mongodb のドキュメントでは、レプリカ セットには奇数の投票ノードが必要であることが示唆されています。これの理由は何ですか?

4

1 に答える 1

19

レプリカ セットに偶数のノード (たとえば 4) があるとします。次に、セットが半分 (2 + 2) に分割される不幸なネットワーク パーティションが発生します。どのパーティションが書き込みを受け入れる必要がありますか? 初め?2番?両方?ネットワークが復旧するとどうなりますか? これらはすべて難しい質問です。

奇数のノードを使用すると、質問が完全になくなります。セットを正確に半分に分割することはできません。そのため、大部分が書き込みを受け入れます (正確には、ノードはノードの半分以上 (自己を含む) をプライマリとして選択する必要があります。つまり、1 の 1、3 の 2、5 の 3、7 の 4 などです)。 )。

于 2013-04-22T15:09:40.653 に答える