1

クライアントとクエリ ルーター間の負荷分散とフェールオーバーが MongoDB でどのように機能するのか疑問に思っています。これまでのところ、一致するドキュメントは見つかりませんでした。誰もが関係ないと言いますが、私はそうは思いません。ソフトウェア/ハードウェアのすべての部分が停止する可能性があり、すぐに再起動できない理由が常にあります。

状況は非常に単純です。シャード化されたレプリケート セットを使用した通常のセットアップを想定すると、クライアントはクエリ ルーターに接続し、操作を実行します。クエリ ルーターが停止するとどうなりますか? 2 番目のクエリ ルーターへの自動フェールオーバーを意図した方法はありますか? または、2 つのクエリ ルーター間の負荷分散のためですか?

手伝ってくれてありがとう、ダーク

4

2 に答える 2

1

誰もが関係ないと言いますが、私はそうは思いません。

そしてあなたの権利はそうです。mongos インスタンスのフェイルオーバーは非常に重要です。これに対処するための適切なアーキテクチャがなければ、アプリで重大な障害が発生する可能性があります。また、MongoDB の高可用性も損なわれます。

クエリ ルーターが停止するとどうなりますか?

これは、実際にドライバーの接続文字列にシード リストを配置する必要がある場所です。この場合、ドライバーは、レプリカで行うことと同じように何かを実行し、リストの他のメンバーに接続して、次のように再開します。正常。

2 番目のクエリ ルーターへの自動フェールオーバーを意図した方法はありますか?

アプリケーション構成にさらに多くの mongos インスタンス IP を指定すると、これはかなり自動化されるはずです。

または、2 つのクエリ ルーター間の負荷分散のためですか?

単一の IP のみを提供したい場合は、そのルートに進むこともできますが、その場合、そのロード バランサーについて心配する必要があります。

于 2013-08-27T15:20:30.897 に答える