关于mongo副本连接

时间:2015-12-01 03:46:50

标签: php mongodb

在我的测试中。 使用

$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 。费用是前一次的五倍。

我该如何选择?

2 个答案:

答案 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");