谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
M--Y3 小时前
Redis集群和典型应用场景
redis·算法·哈希算法·集群
Magic@3 小时前
Redis学习[1] ——基本概念和数据类型
linux·开发语言·数据库·c++·redis·学习
_Evan_Yao4 小时前
缓存金字塔上的红色闪电:Redis 如何借力 CPU 的 L1/L2/L3 与 TLB 飞驰
java·数据库·redis·后端·缓存
難釋懷5 小时前
Redis数据结构-Dict
数据结构·数据库·redis
弹简特5 小时前
【Redis】01-认识Redis+分布式系统知识背景介绍
数据库·redis·缓存
他们叫我阿冠5 小时前
SpringAI的基础学习
数据库·redis·缓存
2301_792674866 小时前
java学习day31(redis)
java·redis·学习
weisian1518 小时前
Java并发编程--46-热点Key与大Value:Redis集群中的“定时炸弹”
java·redis·热key·大key
赵优秀一一8 小时前
Redis 基础、缓存、String/Hash
redis·缓存·哈希算法
Devin~Y9 小时前
大厂Java面试实战:Spring Boot + Redis + Kafka + Kubernetes + RAG 的三轮追问(附答案解析)
java·spring boot·redis·spring cloud·kafka·kubernetes·resilience4j