Mongoose、Express-Session-Mongo、Mongolianのレプリカセットのすべてのホストを指定する必要がありますか?
質問
私は次のように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人のメンバーがいる場合、レプリカセットのすべてのメンバーが見つかります。これは、レプリカセットの各メンバーが他のすべてのメンバーを知っていることによるものです。しかし、サーバーでのみ合格した場合に備えて、サーバーを見つける可能性が高くなるため、より多くのサーバーがよくわかっているほどです。
所属していません StackOverflow