6.5 Redis主从复制之部分复制

  • 时间:
  • 浏览:
  • 来源:互联网

1.简介
全量复制除了上述的开销以外还存在一个问题,假如说master和slave之间的网络发生了抖动,那么一段时间内这些数据就会丢失,这段时间内master更新的数据slave是不知道的,最简单的方法是再做一次全量复制来拉取最新的数据。这样将大大消耗设备的性能,所以2.8版以后Redis提供了部分复制的功能。

2.流程

  • 因为网络抖动导致master和slave断开连接
  • master写命令时会向repl_back_buffer(复制缓冲区)写一份
  • 网络抖动结束,slave再次成功连上master
  • slave向master发送pysnc {offset} {runid}命令,把自己当前的offset(偏移量)和runid传给master
  • 当slave传输的offset在master的buffer(buffer默认大小是1MB)的范围内,master返回contiune
  • master返回buffer中的数据给slave
    在这里插入图片描述

本文链接http://www.dzjqx.cn/news/show-617172.html