redis主从集群,master开启了持久化AOF与RDB,遇到集群脑裂或者异步复制master宕机,是否会造成数据丢失问题?

1、脑裂造成的数据丢失问题,是由于一个主从中有两个master,新旧master,当旧的master网络恢复以后,连接集群,会被当作一个slave挂到新的master上去,自己的数据会被清空,重新从新的master复制数据,那么这段时间client写入旧master的数据就会丢失。
也就是说此时旧的master的持久化没用,会被清理掉,重新从新的master去进行一次full resynchronization 。
2、异步复制问题:
当部分数据没有复制到slave的时候,master宕机,哨兵机制会用30秒去确定是否选举新的master,而此时会遇到两种情况:

master宕机,sentinel集群选举了新的master,此时会造成数据丢失,本质还是master宕机后,哨兵机制选举新的master造成的数据丢失问题。

master宕机后,在哨兵选举之前,重启,此时丢失的数据其实是clinet在master宕机的这段时间发送给master的写请求数据。而此时,通过min-salves-max-log 10设置,也只会让redis丢失10秒的数据。

猜你喜欢

转载自blog.csdn.net/codeydj/article/details/88293303
今日推荐