Redis 哨兵主备切换的数据丢失问题
2024-01-07 17:25:36
导致数据丢失的两种情况
主备切换的过程,可能会导致数据丢失:
- 异步复制导致的数据丢失
因为
master->slave
的复制是异步的,所以可能有部分数据还没复制到
slave
,
master
就宕机
了,此时这部分数据就丢失了。
- 脑裂导致的数据丢失
脑裂,也就是说,某个
master
所在机器突然
脱离了正常的网络
,跟其他
slave
机器不能连
接,但是实际上
master
还运行着。此时哨兵可能就会
认为
master
宕机了,然后开启选举,将
其他
slave
切换成了
master
。这个时候,集群里就会有两个
master
,也就是所谓的
脑裂
。
此时虽然某个
slave
被切换成了
master
,但是可能
client
还没来得及切换到新的
master
,还继
续向旧
master
写数据。因此旧
master
再次恢复的时候,会被作为一个
slave
挂到新的
master
上去,自己的数据会清空,重新从新的
master
复制数据。而新的
master
并没有后来
client
写
入的数据,因此,这部分数据也就丢失了。
文章来源:https://blog.csdn.net/zclwjy/article/details/135389117
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!