谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
重整旗鼓~1 小时前
32.图片上传功能
java·redis
Azure++1 小时前
Windows配置jar、redis、nginx开机自启
windows·redis·jar
码界奇点16 小时前
Java 开发日记MySQL 与 Redis 双写一致性策略挑战与实战解析
java·redis·sql·mysql·java-ee
DemonAvenger17 小时前
Redis分布式锁:实现原理深度解析与实战案例分析
数据库·redis·性能优化
cr7xin19 小时前
缓存查询逻辑及问题解决
数据库·redis·后端·缓存·go
没有bug.的程序员19 小时前
Spring Boot 整合第三方组件:Redis、MyBatis、Kafka 实战
java·spring boot·redis·后端·spring·bean·mybatis
LB211219 小时前
Redis黑马点评 分布式锁
数据库·redis·分布式
May’sJL20 小时前
Redis高可用-主从复制
java·redis·缓存
不爱笑的良田21 小时前
从零开始的云原生之旅(五):用 StatefulSet 部署 Redis
数据库·redis·云原生
银河技术1 天前
Redis 限流最佳实践:令牌桶与滑动窗口全流程实现
数据库·redis·缓存