谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
橘子1319 小时前
redis持久化
数据库·redis
PD我是你的真爱粉1 天前
Redis持久化、内存管理、慢查询与发布订阅
redis·python·mybatis
tod1131 天前
Redis C++ 客户端开发全流程指南
数据库·c++·redis·缓存
没有bug.的程序员1 天前
分布式缓存深潜:Redis Cluster 物理内核、数据分片算法博弈与高并发实战指南
redis·分布式·缓存·高并发·cluster·数据分片
kyle~1 天前
Redis(Remote Dictionary Server)
数据库·redis·缓存
tod1131 天前
Redis - 客户端基本介绍
开发语言·数据库·redis·缓存
长谷深风1111 天前
Redis入门:从MySQL到高效缓存的飞跃
redis·后端·mysql·缓存·nosql·java 开发
长谷深风1111 天前
Redis 缓存架构与高并发问题终极解法
redis·后端·高并发·缓存穿透·缓存击穿·缓存雪崩·系统性能优化
PD我是你的真爱粉1 天前
Redis基础与数据结构
数据结构·数据库·redis
茶杯梦轩1 天前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
服务器·redis