美文网首页
redis集群脑裂

redis集群脑裂

作者: 策马踏清风 | 来源:发表于2020-04-14 16:05 被阅读0次

    定义

    edis的集群脑裂是指因为网络问题,导致redis master节点跟redis slave节点和sentinel集群处于不同的网络分区,此时因为sentinel集群无法感知到master的存在,所以将slave节点提升为master节点。此时存在两个不同的master节点,就像一个大脑分裂成了两个。
    集群脑裂问题中,如果客户端还在基于原来的master节点继续写入数据,那么新的master节点将无法同步这些数据,当网络问题解决之后,sentinel集群将原先的master节点降为slave节点,此时再从新的master中同步数据,将会造成大量的数据丢失。

    解决

    配置

    # 连接到master的最少slave数
    min-slaves-to-write 3
    # slave连接master的最大延迟时间
    min-slaves-max-lag 10
    

    新版配置

    min-replicas-to-write 3
    min-replicas-max-lag 10
    

    如上要求至少3个slave节点,且数据复制和同步的延迟不能超过10秒。否则master就拒绝读写,这样发生集群脑裂原先的master节点接收到写入请求就会拒绝

    相关文章

      网友评论

          本文标题:redis集群脑裂

          本文链接:https://www.haomeiwen.com/subject/pnltvhtx.html