我创建了一个分片环境,我使用两个mongos。这是我可以在两个“mongos”之间进行负载平衡的一种方式,因为目前我发现 Mongo 客户端使用两者之一。或者我是否必须编写自己的负载平衡器?
请您参考如下方法:
建议每个应用程序服务器都有一个 mongos,而不是实现您自己的负载均衡器。
查询可能不会批量返回整个结果,在这种情况下,mongos 将存储与游标相关的一些信息。如果使用游标进行迭代的后续请求没有重定向到相同的 mongos,那么您将收到错误。负载均衡器需要了解 MongoDB 二进制线路协议(protocol),以确保正确处理该场景。
参见: http://craiggwilson.com/2013/10/21/load-balanced-mongos/