redis哨兵主从切换下数据丢失

(1)异步数据丢失问题:
当集群节点间网络或其他问题导致异步复制延时很高,如果此时master宕机了,
毫无疑问会丢失延时的这段时间的数据当集群节点间网络或其他问题导致异步复制延时很高,
如果此时master宕机了,毫无疑问会丢失延时的这段时间的数据
(2)脑裂问题:
当网络分区变化导致master和slave节点之间无法正常通信时,sentinel哨兵集群会选举
slave为master,此时与之前master连接的client一直发送数据,当我们进行恢复将原master
当做新master的slave节点的时候,那么后来一直发送到原master内存的数据会丢失

解决上述两种数据丢失的问题,redis配置文件中有以下两行:
min-slaves-to-write 3
min-slaves-max-lag 10
意味着至少要有3个slave节点与master保持10秒钟以内的数据同步,否则master就不会
接受新的请求,我们需要采取其他措施来应对

总的来看:遵从CAP理论的 CP,牺牲了A(可用性)

你可能感兴趣的:(redis,redis,数据库,java)