首页 > 数据库 >Redis脑裂问题 和 处理办法

Redis脑裂问题 和 处理办法

时间:2022-09-05 23:24:37浏览次数:67  
标签:10 slave min 处理 Redis 脑裂 master slaves 客户端

背景
假设现在有三台机器,分别安装了redis服务,结构如图

故障发生:如果此时master服务器所在区域网络通信出现异常,导致和两台slave机器无法正常通信,但是和客户端的连接是正常的。那么sentinel就会从两台slave机器中选举其中一个作为新的master来处理客户端请求。如图

这个时候,已经存在两台master服务器,client发送的数据会持续保存在旧的master服务器中,而新的master和slave中没有新的数据。如果一分钟以后,网络恢复正常,服务之间能够正常通信。此时,sentinel会把旧的master会变成新的master的slave节点。如图

问题出现了,我们都知道,slave会从master中同步数据,保持主从数据一致。这个时候,变成了slave节点的旧master会丢失掉通信异常期间从客户端接收到的数据。

解决方案
在配置文件中添加如下配置

min-slaves-to-write 1
min-slaves-max-lag 10

这两个配置什么意思呢?
min-slaves-to-write 1,要求至少有一个slave。

min-slaves-max-lag 10,主从数据同步超时时间,10秒。

以上两个配置,都不满足就会导致master拒绝接受客户端请求。根据以上配置可以将master通信异常期间的数据丢失控制在10秒以内

标签:10,slave,min,处理,Redis,脑裂,master,slaves,客户端
From: https://www.cnblogs.com/getrich/p/16660028.html

相关文章

  • 新增一个Redis 从节点为什么与主节点的key数量不一样呢?
    在日常的Redis运维过程中,经常会发生重载RDB文件操作,主要情形有:主从架构如果主库宕机做高可用切换,原从库会挂载新主库重新获取数据主库QPS超过10万,需要做读写分离,......
  • 最新一线大厂Redis使用21条军规及详细解读
    说明:个人原创,本人在一线互联网大厂维护着几千套集群,关于redis使用的一些坑进行了经验总结,希望能给大家带来一些帮助适用场景:并发量大、访问量大的业务规范:介绍军规内......
  • 【图像处理笔记】图像分割基础知识
    形态学处理相同,图像分割操作的输入是图像,输出是从图像中提取出来的属性。本章的大多数分割算法都基于图像灰度值的两个基本性质之一:不连续性和相似性。第一类方法根据灰度......
  • 获取指定路径文件列表 递归 C# Directory.GetDirectories(path)或Directory.GetFil
    C#Directory.GetDirectories(path)或Directory.GetFiles(path)获取文件时如果是根目录时有隐藏文件则报错的处理C#Directory.GetDirectories(path)或Directory.GetF......
  • Python入门系列(十)一篇学会python文件处理
    文件处理在Python中处理文件的关键函数是open()函数。有四种不同的方法(模式)来打开一个文件"r"-读取-默认值。打开一个文件进行读取,如果文件不存在则出错。"a"-Ap......
  • Redis的高可用Sentinel
    Redis的高可用Sentinel什么是SentinelRedis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的......
  • 处理异常:捕获处理,抛出
    java中所有的异常都是java.lang.Throwable类的子类,一般包含两大类:Exception和ErrorException:一般是程序可以自己处理的异常,可以通过try-catch去捕获处理或者throws抛出。......
  • Redis总结
    Redis底层数据结构当数据量小,通过数组实现的压缩数据结构用下标访问更快;当数据量大,维护数组的元数据占用空间随之增长,所以使用普通存储redis支持<string,valu......
  • 干货 | web自动化总卡在文件上传和弹框处理上?
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取在有些场景中,需要上传文件,而Selenium无法定位到弹出的文件框,以及网页弹出的提醒。这些都是需......
  • ENVI 5.1二次开发之——新增事件处理介绍及综合应用
    本文主要介绍ENVI5.1新增的事件处理方法,并在最后提供一个为ENVI5.1添加快捷键的补丁,利用的方法就是事件处理。如果大家对于IDL中快速可视化的事件处理比较了解,那么学习E......