【问题标题】:Does a redisson retry attempt invoke the load balancer again?redisson 重试是否会再次调用负载均衡器?
【发布时间】:2020-12-09 19:41:50
【问题描述】:

假设一个主节点和多个副本节点启用了 Sentinel,Redisson 配置为仅从副本节点读取,并启用了循环负载平衡器和重试。在 Redisson 重试尝试的情况下,它是再次调用负载均衡器以确定新的副本节点,还是与之前未能成功通信的同一个副本进行通信?

我们的用例是这样的,当单个副本节点重新启动时,我们看到每秒处理的命令下降了 50%。我们在 Redisson 中启用了重试,但它们似乎没有帮助,所以我们想知道重试是否也会转到同一个失败的节点。

Redisson 版本:3.13.6 Redis 版本:5.0.6

【问题讨论】:

  • 如果您没有要发布的相关代码,看起来不太适合 Stack Overflow。也许superuser.com
  • 我认为这是 Deepak 提出的一个非常有效的问题!

标签: redisson


【解决方案1】:

它是再次调用负载平衡器来确定新的副本节点,还是与之前未能成功通信的同一个副本进行通信?

在每次尝试中,它都会使用负载平衡器。

我们在 Redisson 中启用了重试,但它们似乎没有帮助,所以我们想知道重试是否也会转到同一个失败的节点。

您需要增加尝试次数才能在从节点故障转移中幸存下来。您还可以减少 failedSlaveCheckInterval 参数,以更快地检测故障从节点,而无需等待 Redis 集群拓扑更新。

【讨论】:

  • 如果我们将 failedSlaveCheckInterval 设置为 5 秒这样的小值会有什么缺点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 2017-01-13
  • 1970-01-01
  • 2018-03-14
  • 2018-06-20
  • 1970-01-01
相关资源
最近更新 更多