当前位置: 首页 > 知识库问答 >
问题:

使用Redis集群自动故障转移到提升的Redis从站

陈哲
2023-03-14

配置:三个redis集群分区,跨越三组一主一从。当主机停机时,莴苣立即检测到停机并开始重试。然而,莴苣没有检测到关联的从属服务器已将自己升级为主服务器,并继续使用无法访问且最终超时的旧主服务器重试。尝试将各种拓扑刷新选项设置为无效。

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

共有1个答案

袁安志
2023-03-14

与Redis Sentinel相比,Redis Cluster在配置更新传播方面受到限制。Redis Sentinel通过发布/订阅通信更新,而Redis Cluster将轮询保留为唯一选项。

莴苣支持定期和自适应集群拓扑刷新触发器。定期定期更新拓扑,自适应刷新侦听断开连接和群集重定向。

您可以通过ClusterClientOptions来配置这两个选项。

定期和自适应刷新尝试覆盖大多数情况,这些情况大多是猜测,以弥补缺乏适当的配置更改传播。始终存在漏洞(见问题#672),其中莴苣比实际拓扑变化更快。这使得莴苣具有过时的拓扑视图,因为实际更改发生得较晚。

 类似资料:
  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 我想从节点endpoint的角度来理解故障转移案例https://forums.aws.amazon.com/,案件的IP地址 主故障切换和副本升级 副本故障切换 该配置被禁用为群集模式:只有1个碎片(1个主碎片和2个副本)启用了多个AZ。比如- 问题- 节点endpoint是DNS名称吗? 已在IP地址级别或节点endpoint级别处理故障转移? 故障转移后,主endpoint可以指向不同的节点

  • 问题内容: 在简单情况下,如果3台服务器具有1个主服务器和2个从属服务器而没有分片。是否有使用Java和Jedis的经过验证的解决方案,该解决方案没有单点故障,并且将自动处理单个服务器(无论是主服务器还是从服务器)(自动故障转移)。例如,提升主机并在故障后重置,而不会丢失任何数据。 在我看来,这似乎应该是一个已解决的问题,但是我找不到关于它的任何代码,而仅是对实现此方法的高级描述。 谁实际覆盖并在

  • 故障自动转移是指在 TiDB 集群的某些节点出现故障时,TiDB Operator 会自动添加一个节点,保证 TiDB 集群的高可用,类似于 K8s 的 Deployment 行为。 由于 TiDB Operator 基于 StatefulSet 来管理 Pod,但 StatefulSet 在某些 Pod 发生故障时不会自动创建新节点来替换旧节点,所以,TiDB Operator 扩展了 Stat

  • 问题内容: 我们目前正在使用Redis 2.8.4和StackExchange.Redis(并喜欢它),但目前没有针对硬件故障等的任何保护措施。我正在尝试使解决方案起作用,从而使我们具有主/从属和哨兵监视功能,但无法完全到达目标位置,并且在搜索后无法找到任何实际的指针。 因此,目前我们已经做到了: 每个节点上都有3个Redis服务器和哨兵(由Linux专家设置):devredis01:6383(主

  • 我安装了墨盒,并将其缩放到3个档位。每个的设置为2。在我将从: 致: 现在,在重新启动墨盒后,它看起来一切正常,直到我杀死主人。奴隶们只是坐在那里数着他们上次看到的几秒钟...他们(其中一个)的日志上写着: