在我的测试中。 使用
$mongo = new MongoClient("mongodb://192.168.1.110:27017");
只需 1ms 即可连接mongo PRIMARY。
但是当我使用
时$mongo = new MongoClient("mongodb://192.168.1.110:27017,192.168.1.110:27018,192.168.1.110:27019/?replicaSet=test");
需要 5ms 。费用是前一次的五倍。
我该如何选择?
答案 0 :(得分:0)
如Connection String URI Format页面所述,如果省略replicaSet选项,则将建立独立连接。您希望使用replicaSet选项在发生故障转移时能够连接到新的主数据库。
答案 1 :(得分:0)
您应该始终使用第二个选项来连接副本集。您的第一个连接是连接独立服务器。
如果第一个选项中的机器或MongoDB实例失败,您将无法连接其余节点。底线始终使用第二个建议连接。对于额外的好处总会有一些惩罚,在这种情况下,安全可用性。
$mongo = new MongoClient("mongodb://192.168.1.110:27017,192.168.1.110:27018,192.168.1.110:27019/?replicaSet=test");