4

我有一个带有 3 个节点的小型 mongoDB 集群(没有分片,只有复制)。现在插入主节点正在按预期将新数据传播到辅助节点(基本复制)。我正在使用 java 和休眠。

现在我想要的是在整个副本集中对读取请求进行负载平衡,而不是始终使用主节点来提供数据。有什么方法可以告诉休眠(通过查询字符串)可用的服务器,并以某种方式休眠分发请求(随机或以系统方式)?实现负载平衡的正确方法是什么?

4

1 回答 1

1

您正在寻找的设置称为读取偏好。如果您查看此处的文档,您会发现:

hibernate.ogm.mongodb.read_preference

指定对 MongoDB 数据存储发出读取时要应用的 ReadPreference。可能的设置是(ReadPreferenceType 枚举的值):PRIMARY、PRIMARY_PREFERRED、SECONDARY、 SECONDARY_PREFERRED和 NEAREST。

在这种情况下,您可能会使用 SECONDARY_PREFERRED,这实际上意味着读取操作将默认路由到从节点,但如果这是唯一可用的节点,休眠将回退到主节点。

于 2016-02-23T10:20:43.380 回答