1

ばかげた質問で申し訳ありませんが、なぜ正確にその数なのですか? 最初は奇数だけかと思っていたのですが、実際には投票ノードの最大数が7で、全体で最大12ノードです。これ以上実行したい場合は、非推奨のマスター/スレーブ構成を使用する必要があります。

では、この数字をどのように説明すればよいでしょうか。

4

2 に答える 2

3

レプリカ セットのすべてのメンバーは、他の各メンバーの現在の状態に関する情報を維持します。これが、ノードの合計数を 12 に制限する理由です。これを超えると、ノードの各ペア間のハートビートでオーバーヘッドが大きくなりすぎます。

最大 7 人の投票メンバーは、選挙の速度低下を避けるためです。新しいプライマリを選択するにはコンセンサス選挙が必要なため、それらの間で調整する必要があるノードの数を制限することで、処理が速くなります。

于 2013-05-30T22:47:46.000 に答える
2

これについてまだ疑問に思っている人のために、MongoDB の最新の開発ブランチ (この回答を書いている時点で 2.7.8) は、SERVER-15060の一部として全体の制限を 50 に増やしました。この変更は、テスト中に相容れない問題が原因で元に戻されないと仮定すると、2.8 製品リリースで利用できるようになります。注: 投票ノードの最大数は 7 のままですが、この変更により、12 を超えるノードが必要なニッチなケースで従来のマスター/スレーブ構成を使用する必要がなくなります。

于 2014-10-23T11:33:45.457 に答える