谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
极限实验室9 小时前
Easysearch 字段'隐身'之谜:source_reuse 与 ignore_above 的陷阱解析
数据库·redis
朝九晚五ฺ10 小时前
【Redis学习】Redis常用数据类型的万字详解
redis·学习·哈希算法
摇滚侠19 小时前
【IT老齐456】Spring Boot优雅开发多线程应用,笔记01
spring boot·redis·笔记
2301_772093561 天前
tuchuang_myfiles&&share文件列表_共享文件
大数据·前端·javascript·数据库·redis·分布式·缓存
老朋友此林1 天前
高并发下如何保证 Caffeine + Redis 多级缓存的一致性问题?MySQL、Redis 缓存一致性问题?
数据库·redis·缓存
gsfl1 天前
Redis分布式锁
数据库·redis·分布式
她说..2 天前
Redis项目应用总结(苍穹外卖/黑马头条/乐尚代驾)
java·数据库·redis·缓存·消息队列·redisson·geo
kjl5365662 天前
Redis配置文件(redis.conf)
redis·bootstrap·php
gsfl2 天前
Redis 常见面试题
数据库·redis·缓存