redis集群脑裂与异步复制

2 篇文章 0 订阅

1、redis的异步复制

首先我们了解一下redis的主从复制,redis的主从复制一般有一个master node和不超过三个slave node,当slave第一次连接master节点时会进行全量赋值(就是将rdb镜像进行复制传送),如果因为网络的原因master停顿了一段那个时间,再次连接的话就会进行断点续传也就是从数据断开的地方从新进行数据的复制。

redis的异步复制就是当一个写请求发送到master节点时,master就会将数据进行异步的复制给slave,如果master还没有将最近一秒的数据复制给slave就挂掉,就会导致数据的丢失。结局办法就是加入配置min-slaves-max-lag 10,含义就是数据和复制的延迟不能超过10秒。否则就拒绝请求。

2、redis的集群脑裂

当master节点应为网络原因,与其他的slave节点断开但是却没有挂掉,但是slave中的哨兵就会从新选举出新的master节点(多数哨兵同意master挂掉会进行选举)。其他的slave节点就会挂到新选举的master节点上,但是客户端还没有连接到新选举的master上。此时失去连接的master节点从新恢复了连接,这样就会导致集群有两个master节点也就是脑裂。客户端的请求会发送到原来的master节点上,当网络问题解决时原来的master降级为slave连接上新选举的master,而其他的slave会从新选举的master拉取数据,所以就会导致数据的丢失。解决办法就是加入一行配置min-slaves-to-write 1,命令的含义就是集群中最少有一个slave节点,否则master就拒绝写请求。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值