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

导致数据丢失的两种情况

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

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

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

  • 脑裂导致的数据丢失

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

相关推荐
龙仔7253 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
sunxr.2273 小时前
Mysql-----最后一次作业
数据库·mysql
普通网友4 小时前
Python FastAPI 异步数据库管理
数据库·fastapi
晓子文集4 小时前
Tushare接口文档:期货合约信息表(fut_basic)
大数据·数据库·金融·金融数据·量化投资
三言老师4 小时前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库
旺仔学长 哈哈5 小时前
Spring Boot 智能停车场管理系统---附源码+数据库文档
数据库·spring boot·后端·智能停车场
ClickHouseDB5 小时前
ClickHouse托管Postgres:OLTP+OLAP,新能力解锁最佳数据平台
java·前端·数据库
数智化管理手记6 小时前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
吴声子夜歌6 小时前
MongoDB 4.2——选择片键
数据库·mongodb
天天进步一点点6 小时前
QSqlQuery删除sqlite数据库执行drop数据表报错database table is locked unable to fetch row问题
数据库·oracle·sqlite