ばかげた質問で申し訳ありませんが、なぜ正確にその数なのですか? 最初は奇数だけかと思っていたのですが、実際には投票ノードの最大数が7で、全体で最大12ノードです。これ以上実行したい場合は、非推奨のマスター/スレーブ構成を使用する必要があります。
では、この数字をどのように説明すればよいでしょうか。
ばかげた質問で申し訳ありませんが、なぜ正確にその数なのですか? 最初は奇数だけかと思っていたのですが、実際には投票ノードの最大数が7で、全体で最大12ノードです。これ以上実行したい場合は、非推奨のマスター/スレーブ構成を使用する必要があります。
では、この数字をどのように説明すればよいでしょうか。
レプリカ セットのすべてのメンバーは、他の各メンバーの現在の状態に関する情報を維持します。これが、ノードの合計数を 12 に制限する理由です。これを超えると、ノードの各ペア間のハートビートでオーバーヘッドが大きくなりすぎます。
最大 7 人の投票メンバーは、選挙の速度低下を避けるためです。新しいプライマリを選択するにはコンセンサス選挙が必要なため、それらの間で調整する必要があるノードの数を制限することで、処理が速くなります。
これについてまだ疑問に思っている人のために、MongoDB の最新の開発ブランチ (この回答を書いている時点で 2.7.8) は、SERVER-15060の一部として全体の制限を 50 に増やしました。この変更は、テスト中に相容れない問題が原因で元に戻されないと仮定すると、2.8 製品リリースで利用できるようになります。注: 投票ノードの最大数は 7 のままですが、この変更により、12 を超えるノードが必要なニッチなケースで従来のマスター/スレーブ構成を使用する必要がなくなります。