谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
wyt5314293 小时前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
vpk1124 小时前
Docker Compose 安装 Redis
redis·docker·容器
我真会写代码7 小时前
Redis高频面试题(含标准答案,覆盖基础+进阶+实战)
数据库·redis·缓存
6+h7 小时前
【Redis】缓存问题及解决方案
数据库·redis·缓存
6+h8 小时前
【Redis】高可用核心讲解
数据库·redis·缓存
Aloha_up10 小时前
redis与数据库的一致性问题分析
数据库·redis·缓存
6+h10 小时前
【Redis】底层原理解析(SDS / 跳表 / IO多路复用 / 单线程模型)
数据库·redis·bootstrap
知识分享小能手12 小时前
Redis入门学习教程,从入门到精通,Redis集群架构:语法知识点、使用方法与综合案例(6)
redis·学习·架构
czlczl2002092512 小时前
Redis过期删除策略
数据库·redis·缓存
爱学习的小可爱卢13 小时前
Redis从入门到精通:入门到精通(万字详解)
数据库·redis·中间件