Redis 主从复制

Redis主从复制过程,由从节点发起复制请求,默认情况从节点是只读的

1. 从节点发起复制请求,保存主节点信息

2. 主从建立socket连接

3. 从节点发送ping命令

4. 主节点权限验证(默认关闭)

5. 同步数据

6. 持续复制

 

其中同步数据又分为全量复制和部分复制

 

全量复制,从节点第一次复制必须为全量复制,全量复制过程为从节点发起,主节点保持RDB文件,主节点发送RDB文件,主节点把期间增量的命令缓存并且在RDB传输完成后发送增量命令给从节点,从节点如果开启了AOF则同步后会马上进行首次AOF。

可以看到全量复制是一个非常耗时和消耗网络带宽的操作,通常需要把从节点部署到同机房或同地,而且除第一次同步其他情况应该规避全量复制,还有主节点挂掉重启会修改serviceid也会触发从节点的全量复制,需要通过更好的集群方案解决。

 

部分复制,主从都保存偏移量,可以认为偏移量是缓冲区的指针,主节点根据偏移量传输增量数据,效率和速度远好于全量复制,默认缓冲区数据量1M,当偏移量不在缓冲区,则会触发全量复制,需要调整合理参数规避。

 

主从节点会通过心跳来保持连接。

 

要避免复制风暴,即多台从机器向同一台主机器发起复制,一个方法是采用树形结构(slave下面再有slave),另一个是主节点分散在多个机器上。

 

集群方案能更好解决主从高可用问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值