PHP Mongos驱动程序如何确定要连接的服务器

时间:2013-09-19 22:34:21

标签: php mongodb sharding

假设您在生产环境中有多个Mongo分片,因此每个分片都是副本集。您有三个不同的Mongos实例正在运行以连接到这些副本集,因此您正在执行以下操作:

new MongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017,mongos3.example.com:27017");

PHP Mongos驱动程序使用什么方案来确定它将连接到哪些方案?搜索到这一点,我已经能够找到相对较少的信息,我遇到的一些事情往往相互矛盾,有些人说它选择第一个回应,有些人说它选择第一个你输入您的代码。

有人知道吗?

这适用于PHP 1.3.4。

1 个答案:

答案 0 :(得分:1)

正如Sammaye所说,MongoClient首先连接到“最近的”mongos,其中“最近”由延迟决定。如果您有兴趣,可以查看manager.c中的read_preference.cphp driver