案例真题详解:Redis 主从复制~终于搞懂了
今天我们以25年5月架构师的案例真题为引来拆解下Redis主从复制的详细流程当然你学了拿去“吊打”面试官也是可以的主从复制分为初始化阶段全量同步和运行阶段增量同步前者是从节点首次连接主节点的完整数据同步后者是后续的实时数据更新流程如下阶段 1初始化 - 全量同步全量同步是从节点获取主节点完整数据的过程适用于从节点首次连接主节点或从节点断线后无法进行增量同步如主节点运行 ID 变化、偏移量超出复制缓冲区范围的场景。流程可拆解为7步核心是通过PSYNC与FULLRESYNC协商同步方式再通过 RDB 快照 增量命令补发完成数据一致性校验当主从节点的复制偏移量完全一致时全量同步完成主从复制进入稳定的“增量同步阶段”—— 此后主节点的写命令会通过命令传播机制实时同步给从节点。阶段 2运行中 - 增量同步阶段 3异常恢复 - 断线重连与同步判断若从节点因网络波动等原因断线重连主节点时会触发「同步方式判断」流程如下1. 从节点重连主节点后会发送自身记录的「主节点 Run ID」和「自身当前的复制偏移量」。2. 主节点判断•若 Run ID 不变仍为原主节点且偏移量在复制积压缓冲区内触发增量同步主节点直接将缓冲区内偏移量之后的命令发送给从节点快速恢复同步。•若 Run ID 改变主节点重启过或偏移量已超出缓冲区范围触发全量同步重复「初始化阶段」的流程。3. 增量复制之所以能成功全靠主节点内部维护的一个环形缓冲区repl_backlog_buffer 复制积压缓冲区。• 这个缓冲区的大小是固定的默认 1MB,主节点在执行写命令时不仅会发送给在线的从节点还会顺手把命令写入这个环形缓冲区中所有从节点共享一个。两个缓存区在全量、增量同步中有两个缓存区注意区分下以上就是Redis主从复制的全流程你学“废了么
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2548022.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!