使用java驱动程序尝试使用mongodb的故障转移容量时遇到问题.
我有一个主要/辅助mongodb集群,即server1和server2.
当我杀死主服务器1以模拟故障时,server2在几秒钟内变为主服务器,而我的应用程序(使用java驱动程序访问mongo)开始使用新的主服务器2.
当我重新启动server1时,它会在几秒钟内恢复它的主要角色但是我的应用程序,而不是连接到server1仍然尝试连接到server2,因为它现在处于辅助状态失败!所有请求都对此错误感到满意:
com.mongodb.MongoServerSelectionException: Unable to connect to any server that matches {serverSelectors=[ReadPreferenceServerSelector{readPreference=primary}, LatencyMinimizingServerSelector{acceptableLatencyDifference=15 ms}]}
Run Code Online (Sandbox Code Playgroud)
我使用的是mongodb 2.6和java驱动程序2.12.我没有将任何参数传递给使用我的集群的所有节点创建的MongoClient.
欢迎任何帮助.
问候,
卢瓦克