Lettuce Redis客户端无法平衡从属服务器之间的负载

时间:2018-12-12 11:17:26

标签: lettuce

我正在使用Lettuce客户端设置主/从Redis拓扑。我的readPreference是slave_preferred,并且该拓扑具有三个从属和一个主控。

我遇到的问题是,一旦建立了StatefulRedisMasterSlaveConnection,所有查询都将转到同一个从属服务器,而不是平衡所有可用从属服务器之间的负载。

我也尝试根据文档添加一个commons-pool2连接池,但是行为似乎是相同的。

我还尝试过使用静态拓扑发现和动态拓扑发现。

是否有一种方法可以平衡从站之间的负载,并且不让所有查询都发送到同一从站?

谢谢

1 个答案:

答案 0 :(得分:0)

简短的答案是no

更长的答案是:

  

Lettuce为每个插槽哈希选择一个副本,并将所选副本用于读取操作,直到下一次拓扑刷新为止。这是为了减少CPU开销而设计的。

您可能要遵循ticket #834,因为这是为了增加跨只读副本的负载平衡/循环功能。