使用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.
欢迎任何帮助.
问候,
卢瓦克
由于仍有一些人到达这个问题并试图回答我自己回答。
该问题不再出现,我不确定为什么。我现在将驱动程序更新到 2.12.3 版本。mongodb 端没有更新。
感谢那些试图提供帮助的人。
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |