gpt4 book ai didi

redis - 使用 Redis 集群自动故障转移到提升的 Redis Slave

转载 作者:可可西里 更新时间:2023-11-01 11:24:01 29 4
gpt4 key购买 nike

配置:三个redis集群分区,跨三组一主一从。当 Master 宕机时,Lettuce 会立即检测到中断并开始重试。但是,Lettuce 没有检测到关联的 slave 已经将自己提升为 master 并继续使用无法访问并最终超时的旧 master 进行重试。尝试设置各种拓扑刷新选项无济于事。

建议的解决方案:在第一次重试失败后(这是连续第二次重试失败),使用提供的任何节点的拓扑重新运行拓扑刷新(用于在初始化期间导出拓扑)(因为它们都有相同的拓扑信息)。这将重新建立与当前 master 的连接。然后在先前失败的分区上重试失败的操作。

最佳答案

与 Redis Sentinel 相比,Redis 集群在配置更新传播方面受到限制。 Redis Sentinel 通过 Pub/Sub 传达更新,而 Redis Cluster 将轮询作为唯一选项。

生菜支持周期性和自适应cluster topology refresh触发器。定期更新拓扑,自适应刷新监听断开连接和集群重定向。

您可以通过 ClusterClientOptions 配置两者。

定期和自适应刷新试图涵盖大多数情况,这些情况大多是猜测,以弥补缺乏适当的配置更改传播。总是存在漏洞(参见 issue #672 ),其中 Lettuce 比实际的拓扑变化更快。这使得 Lettuce 的拓扑 View 已过时,因为实际更改发生得稍晚一些。

关于redis - 使用 Redis 集群自动故障转移到提升的 Redis Slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53822022/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com