我有一个具有主要/次要和读取偏好的副本集作为 NEAREST。通过MongoStat,我可以看到请求将发送到运行 mongod 实例和 nodejs 的副本集成员,而不是发送到不同 aws 实例上的其他成员。两者之间未启用 Pinging。我还可以通过更改读取首选项来验证另一个实例是否可以访问。与我的 java 客户端一起工作正常。另一个实例是否应该能够 ping 以进行读取共享?SecondaryAcceptableLatencyMS 设置为 500。这是我尝试执行的示例代码片段。
var replSet = new ReplSetServers( [
new Server( "localhost", 27017, { auto_reconnect: true, native_parser: true, slaveOk: true } ),
new Server( "<replmem1>", 27017, { auto_reconnect: true, native_parser: true, slaveOk: true } ),
new Server( "<replmem2>", 27018, { auto_reconnect: true, native_parser: true, slaveOk: true } )
],
{read_secondary:true, secondaryAcceptableLatencyMS:500 }
);
var dbCon = new Db("emails_" + postParams["campaign_id"], replSet, {safe: true, readPreference: mongo.ReadPreference.NEAREST});
dbCon.open(function(err, db) {