2016-11-10 15 views
0

MongoDBレプリカセットを調べており、アプリケーションからフェールオーバーを処理する方法を知りたいと思います。MongoDB Replicasetプライマリ障害

が、私はレプリカセットの3つのノードで、(原発を)言っている(二次)B及びC(セカンダリ)を想定します:

以下は、私のシナリオです。

1.アプリケーションから、どのホストに接続すればよいですか? A?

2.ホストAに障害が発生した場合はどうなりますか? 1つのセカンダリ(たとえばB)がプライマリとして引き継がれます。この移行を処理し、今すぐBに接続するようにアプリケーションを設計する必要がありますか?

ありがとうございます。 レプリカセットを使用して高可用性を維持しながらアプリケーションを設計する方法を混乱させました。

答えて

1

アプリケーション接続文字列には、それらのアドレス(またはその一部)をすべて一覧表示できます。 Mongodbドライバは、接続するドライバを知っています。 基本的には、作業ノードの1つ(セカンダリまで)を接続するだけで、アプリケーションは自動的にそれらのアドレスを取得し、どのノードを接続するかを知ることができます。 これは、プライマリが他のノードに転送され、アプリケーションが新しいプライマリのアドレスとなる情報を取得する場合にも機能します。