关于mongo副本连接



在我的测试中。使用

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

我应该如何选择?

您应该始终使用第二个选项来连接副本集。您的第一个连接是连接独立服务器。

若机器或MongoDB实例在第一个选项的情况下失败,那个么您将无法连接其他节点。底线总是使用第二个建议进行连接。在这种情况下,故障安全可用性的增加总是会受到一些惩罚。

$mongo = new MongoClient("mongodb://192.168.1.110:27017,192.168.1.110:27018,192.168.1.110:27019/?replicaSet=test");

如连接字符串URI格式页面中所述,如果省略replicaSet选项,将进行独立连接。您需要使用replicaSet选项,以便在发生故障切换时能够连接到新的主服务器。

最新更新