谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
东窗西篱梦2 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
半新半旧3 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper
@ chen6 小时前
Redis事务机制
数据库·redis
静若繁花_jingjing7 小时前
Redis线程模型
java·数据库·redis
在肯德基吃麻辣烫8 小时前
《Redis》缓存与分布式锁
redis·分布式·缓存
先睡13 小时前
Redis的缓存击穿和缓存雪崩
redis·spring·缓存
weixin_4461224616 小时前
JAVA内存区域划分
java·开发语言·redis
TT哇17 小时前
JavaEE==网站开发
java·redis·java-ee
qq_3923971219 小时前
Redis常用操作
数据库·redis·wpf
一只叫煤球的猫21 小时前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端