アービターなしで MongoDB レプリケーションをセットアップすると仮定します。プライマリが利用できない場合、レプリカ セットはセカンダリをプライマリとして選択します。レプリカが自動的にプライマリを選択するため、暗黙のアービターのようなものだと思います。
では、なぜ専用のアービター ノードが必要なのでしょうか? ありがとう!
アービターなしで MongoDB レプリケーションをセットアップすると仮定します。プライマリが利用できない場合、レプリカ セットはセカンダリをプライマリとして選択します。レプリカが自動的にプライマリを選択するため、暗黙のアービターのようなものだと思います。
では、なぜ専用のアービター ノードが必要なのでしょうか? ありがとう!
これは実際には、パーティションの両側に同数のサーバーがある場合、データベースは CAP (一貫性、可用性、およびパーティション許容度) を維持できないという CAP の定理に帰着します。アービターは、一方に「不均衡」または過半数を作成するように特別に設計されているため、この場合は予備選挙を行うことができます。
どちらかのノードの数が偶数の場合、MongoDB はプライマリを選択せず、セットは書き込みを受け入れません。
どちらかの側とは、たとえば、一方の側に 2 つ、もう一方の側に 2 つという意味です。そこでは私の英語がわかりにくかった。
だから本当に私が意味するのは両側です。
ウィキペディアは、CAP を説明するための非常に良い事例を提示しています: http://en.wikipedia.org/wiki/CAP_theorem
以下の理由により、レプリケーションにアービターが必要です。
お役に立てれば !!!