谈一谈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合理配置尽量规避,但无法彻底解决
相关推荐
2601_949194264 分钟前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
豆瓣鸡31 分钟前
Redis笔记(黑马点评)
java·redis·nosql
csdn2015_42 分钟前
spring boot 启动的时候将数据库里的分类信息写入redis
数据库·spring boot·redis
大G的笔记本1 小时前
redis分布式锁过期问题和自动续期和主从延迟问题
redis·分布式
MmeD UCIZ2 小时前
GO 快速升级Go版本
开发语言·redis·golang
難釋懷3 小时前
Redis服务器端优化-内存划分和内存配置
java·redis·spring
qiuyunoqy4 小时前
Redis 常见数据结构,编码方式
数据库·redis·缓存
风兮雨露5 小时前
Windows 部署Redis免安装版以及客户端
数据库·windows·redis
NaMM CHIN5 小时前
linux redis简单操作
linux·运维·redis
java干货5 小时前
Redis 分布式限流的四大算法与终极形态
数据库·redis·分布式