Redis 企业版冷却功能是什么?

最后更新于 2024 年 4 月 18 日

问题

对于 Redis Enterprise 集群和数据库,我们为什么要有冷却期?冷却期的缺点是,在第二个节点故障后,主分片将没有副本(在冷却期内)。所以,冷却期避免出现什么问题呢?

答案

正如 文档 所述

集群和数据库都有冷却期。在节点故障后,集群冷却期会阻止在冷却期结束之前(默认为一小时)由于集群中任何数据库的另一个节点故障而进行另一个副本迁移。

冷却期是防止级联故障的保护机制。考虑导致节点级问题(在节点已故障且副本分片已相应重新配置之后)并导致另一个节点故障的用法。新的分片副本会不断出现,由于资源大量使用,很快就会杀死它们所在的节点。如果我们立即启动新的副本,则在具有 3 个节点的集群的情况下,很快就会造成仲裁数丢失。

出于此原因,冷却期默认配置为一小时。

为了最大限度地降低失去法定人数的风险以及随之而来的集群中断的风险,可以配置 5 节点集群而不是 3 节点集群,并且即使在 2 个节点发生故障的情况下仍然可以达到法定人数。

参考资料

有关如何配置冷却功能的说明,请参阅冷却时间一节。