Redis 哨兵主备切换的数据丢失问题

导致数据丢失的两种情况

主备切换的过程,可能会导致数据丢失:

  • 异步复制导致的数据丢失

因为 master->slave 的复制是异步的,所以可能有部分数据还没复制到 slave , master 就宕机
了,此时这部分数据就丢失了。

  • 脑裂导致的数据丢失

脑裂,也就是说,某个 master 所在机器突然 脱离了正常的网络 ,跟其他 slave 机器不能连
接,但是实际上 master 还运行着。此时哨兵可能就会 认为 master 宕机了,然后开启选举,将
其他 slave 切换成了 master 。这个时候,集群里就会有两个 master ,也就是所谓的 脑裂 。
此时虽然某个 slave 被切换成了 master ,但是可能 client 还没来得及切换到新的 master ,还继
续向旧 master 写数据。因此旧 master 再次恢复的时候,会被作为一个 slave 挂到新的 master
上去,自己的数据会清空,重新从新的 master 复制数据。而新的 master 并没有后来 client 写
入的数据,因此,这部分数据也就丢失了。

相关推荐
**AE86**2 小时前
sed截取慢SQL大文件并导出指定时间范围内容
数据库·sql·sed
小清兔2 小时前
c#基础知识
开发语言·数据库·学习·unity·c#·游戏引擎·.net
喪彪2 小时前
Ubuntu操作系统下使用mysql、mongodb、redis
redis·mysql·mongodb
天上掉下来个程小白3 小时前
微服务-25.网关登录校验-网关传递用户到微服务
java·数据库·微服务
ta是个码农5 小时前
Mysql——日志
java·数据库·mysql·日志
hhzz5 小时前
SQL 窗口函数(Window Function)终极指南
数据库·sql
没有bug.的程序员7 小时前
MyBatis 初识:框架定位与核心原理——SQL 自由掌控的艺术
java·数据库·sql·mybatis
Databend8 小时前
Databend 亮相 DTCC 2025:存算分离架构引领湖仓一体化
数据库
回家路上绕了弯8 小时前
ClickHouse 深度解析:从核心特性到实战应用,解锁 OLAP 领域新势能
数据库·后端
张铁铁是个小胖子8 小时前
mysql是怎样运行的(梳理)
数据库·mysql