Mongoose、Express-Session-Mongo、Mongolianのレプリカセットのすべてのホストを指定する必要がありますか?

StackOverflow https://stackoverflow.com/questions/8364808

質問

私は次のようにmongodbレプリカを設定しています

Host1: 10.10.10.1:27017
Host2: 10.10.10.1:27018
Host3: 10.10.10.2:27017
Host4: 10.10.10.2:27018

接続を設定するとき(例えば、mongooseで)、これを行う必要があります。

mongoose.connectSet('mongodb://10.10.10.1:271017/mydb,
mongodb://10.10.10.1:27018/mydb,
mongodb://10.10.10.2:27107/mydb, mognodb://10.10.10.27108/mydb);

これを行うことはできますか?

mongoose.connectSet('mongodb://10.10.10.1/mydb, mongodb://10.10.10.2/mydb');

Express-Session-MongoとMongolianはどうですか?レプリカセットへの接続をセットアップする方法は?

なぜすべてのホスト名を定義しなければならないのですか?接続のセットアップ中に手動で定義するのではなく、ドライバーがすべてのプライマリとセカンダリを知って、ルックアップテーブルを保持するべきではありませんか?

役に立ちましたか?

解決

したがって、Mongooseが使用するMongoDBドライバーは、元のセットに少なくとも1人のメンバーがいる場合、レプリカセットのすべてのメンバーが見つかります。これは、レプリカセットの各メンバーが他のすべてのメンバーを知っていることによるものです。しかし、サーバーでのみ合格した場合に備えて、サーバーを見つける可能性が高くなるため、より多くのサーバーがよくわかっているほどです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top