1

MongoDB のレプリカ セットの概念を理解しようとしています。

2 つの mongoDB インスタンス A (プライマリ) と B (セカンダリ) の簡単な例を取り上げます。

クライアントが喜んで AI にクエリを実行している場合、書き込みが B にレプリケートされることは理解できますが、サーバー A にアクセスできなくなった場合はどうなりますか?

mongo レプリケーションに関しては、B が新しいプライマリとして選出されることがわかりますが、クライアントはクエリを A ではなく B にチャネルすることをどのように知るのでしょうか? これはすべてmongoの内部で行われますか?

私のクライアントの構成には A を指している uri がありますが、B には何もないので、私は尋ねます.それは正しいですか?

4

1 に答える 1

3

2つのmongoDBインスタンスA(プライマリ)とB(セカンダリ)の簡単な例を取り上げます。

レプリカセットの一部として2つのインスタンスを使用しないでください。選挙が行われるように、アービターまたは別のセカンダリーが必要です。

落とし穴についてはこちら、複製の基本についてはこちら、選挙に関する情報についてはこちらをご覧ください。

クライアントがAIに喜んでクエリを実行している場合、書き込みはBに複製されることを理解していますが、サーバーAにアクセスできなくなった場合はどうなりますか?

サーバーBがプライマリになると、サービスはフェイルオーバーする必要があります。ただし、2つのインスタンスでは、過半数がないため、サーバーBは自分自身をプライマリとして選択できません。

モンゴレプリケーションに関しては、Bが新しいプライマリとして選出されることがわかりますが、クライアントはクエリをAではなくBに送信することをどのように知っていますか?これはすべてmongoの内部で行われますか?

ドライバーはレプリカセットの構成を認識しているため、これは通常、ドライバーを介して実行されます。関連するドライバーのドキュメントについては、こちらを参照してください(使用しているドライバーによって異なります)。

于 2012-11-15T11:16:42.120 に答える