0

MongoDB レプリカ セットでは、クライアントからマスター ノードにアクセスできる必要がありますか? または、セカンダリ ノードが書き込みクエリをマスター ノードにリダイレクトしますか?

4

3 に答える 3

2

クライアントからすべてのノードにアクセスできる必要があります。そうすれば、プライマリがダウンしてセカンダリがプライマリに昇格した場合でも、アプリケーションは引き続き機能します。

于 2012-04-04T09:20:31.543 に答える
1

セカンダリ ノードは、書き込み要求をプライマリ ノードにプロキシしません。書き込みを実行するには、マスター ノードに直接接続する必要があります。

于 2012-04-04T09:05:08.697 に答える
1

上記の答えは 100% 正しいわけではありません。

1) シャード環境にいる場合、クライアントは mongos プロセスと通信できる必要があり、次にプライマリ ノード (および構成サーバー) と通信します。アプリケーション サーバーがプライマリ mongodb から分離されているシナリオが考えられます。サーバーはレプリカセット内にありますが、mongos プロセスと通信でき、その後プライマリ mongodb サーバーと通信できました。

2) 別のユーザーは、「すべてのノードはクライアントからアクセス可能でなければならない」と指摘しましたが、通常は常に正しいとは限りません。別のデータ センターで遅延したセカンダリがある状況では、レプリカ セットのメンバーのみが通信できる必要があります。遅延セカンダリ; ただし、アプリケーション サーバーはそれと通信する必要はありません。

于 2012-04-04T19:23:16.417 に答える