我们有一个副本集,连接字符串中有两个服务器,secondaryPreferred。如果辅助服务器停机,我们希望 MongoDB 自动连接到主服务器。这在“正常”停机情况下效果很好,但是MongoClient 似乎总是连接到两个副本集成员。即使它首先连接到第一个辅助节点,它也会连接到主节点,这仅用于更新查询。
问题是当主节点出现连接超时时:网站尝试连接 60 秒,然后继续从辅助节点提供服务。而且这似乎是无用的开销。
我没有测试它,但我认为与primaryPreferred相同。
是否有可能改变这种行为?
配置:
PHP MongoClient 1.5.7
Connection string: mongodb://192.168.1.24:27017,192.168.1.25:27017'
Parameters:
readPreference: secondaryPreferred
replicaSet: dnm
Servers: primary, secondary, arbiter