谈一谈redis脑裂

什么是redis脑裂

(1)一主多从架构中,主节点与客户端通信正常,主节点与哨兵、从节点连接异常,客户端仍正常写入数据

(2)哨兵判定主节点下线,重新选主

(3)原主节点与哨兵和其他节点通信恢复,成为新主节点的从节点,drop本身所有的数据,从新主节点全量copy数据

(4)原主节点通信异常至新主节点出现期间客户端写入的数据丢失

这就是脑裂

如何应对脑裂现象

在原主节点通信异常至新主节点选举出现期间,拒绝客户端的数据写入

redis提供了两个配置项

  • min-slaves-to-write:与主节点通信的从节点数量必须大于等于该值主节点,否则主节点拒绝写入
  • min-slaves-max-lag:主节点与从节点通信的ACK消息延迟必须小于该值,否则主节点拒绝写入。
    Redis脑裂可以采用min-slaves-to-write和min-slaves-max-lag合理配置尽量规避,但无法彻底解决
相关推荐
basketball6161 小时前
Redis基础:1. Redis介绍
数据库·redis·缓存
zzz_23687 小时前
【Redis】分布式锁完整演进
数据库·redis·分布式
giaz14n9X8 小时前
Redis 分布式锁进阶第五十一篇
数据库·redis·分布式
真实的菜10 小时前
【无标题】Redis 从入门到精通(七):缓存设计与最佳实践 —— 穿透、击穿、雪崩与一致性终极指南
数据库·redis·缓存
念何架构之路10 小时前
存储技术Redis
数据库·redis·缓存
Trouvaille ~11 小时前
【Redis篇】Redis 主从复制:数据同步的原理与实现
数据库·redis·缓存·中间件·高可用·主从复制·后端开发
真实的菜11 小时前
Redis 从入门到精通(五):哨兵模式(Sentinel)—— 自动故障转移的完整原理与实战
数据库·redis·sentinel
是小王同学啊~11 小时前
Redis 面试通关笔记:高频八股 + 生产实战 + 追问链路(下)
redis·面试题
zfoo-framework12 小时前
通过redis-cli+lua脚本查询redis数据
数据库·redis·lua
岳读12 小时前
Redis Windows 7.2.3 使用教程解压启动与测试步骤
redis