在生产环境中(意味着分片是每个副本集),在连接线中指定两个不同的分片,如下所示:
$m = new MongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017");
如果 mongos1,example.com 失败,PHP 驱动程序似乎永远不会尝试连接到 mongos2.example.com。这是特定于驱动程序的,还是有办法强制它连接(除了通过为每个服务器实现单独的 try 和 catch 块来解决它)。