我已经使用以下详细信息配置了我的生产环境:
1. Three config server
2. Two routers (`mongos`)
3. Two shards of three node replica sets.
我的问题是:我正尝试借助 mongo java 驱动程序连接到分片数据库。因此,如果我提供两个mongos
IP 用于连接,驱动程序将如何选择一个 IPmongos
来路由数据,换句话说,哪个 IPmongos
将被选为主路由器,如果其中一个 IP 发生故障,另一个 IP 将如何被选中。
答案1
在驱动程序中创建 MongoClient 时,只需为其提供一个mongos
要使用的列表,而不是单个列表mongos
- 如果其中一个发生故障,驱动程序将自动进行故障转移。在此处查看相关 API 文档:
http://api.mongodb.org/java/2.11.3/com/mongodb/MongoClient.html#MongoClient(java.util.List)