您现在的位置是:首页 > 文章详情

突破Java面试(23-8) - Redis哨兵主备切换的数据丢失问题

日期:2019-07-05点击:348

Github

1 数据丢失的两个场景

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

1.1 异步复制

由于 master => slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机,于是这些数据就丢失了

1.2 脑裂导致

脑裂,也就是说,某个master所在节点突然脱离正常的网络,无法和其他slave机器连接,但实际上master还运行着

此时哨兵可能就会认为master宕机了,然后开启选举,将其他slave切换成了master

这个时候,集群里就会有两个master,也就是所谓的脑裂

此时虽然某个slave被切换成了master,但是可能client还没来得及切换到新的master,还继续写向旧master的数据可能也丢失了

因此旧master再次恢复时,会被作为一个slave挂到新的master上去,自己的数据会被清空

原文链接:https://yq.aliyun.com/articles/707921
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章