面试题答案
一键面试- 主节点准备:
- 从节点向主节点发送
PSYNC
命令,请求同步数据。 - 主节点收到
PSYNC
命令后,开始在后台生成RDB文件,并使用缓冲区记录从现在开始执行的写命令。
- 从节点向主节点发送
- RDB文件传输:
- 主节点生成RDB文件完毕后,将RDB文件发送给从节点。
- 从节点收到RDB文件后,清空当前数据库,然后载入RDB文件。这使得从节点的数据状态和主节点生成RDB文件时的数据状态一致。
- 写命令同步:
- 主节点将缓冲区中记录的写命令发送给从节点。
- 从节点接收并执行这些写命令,从而使得从节点的数据状态最终与主节点完全一致。
- 同步完成:
- 至此,主从节点初次数据同步完成,后续进入正常的复制阶段,主节点会将新的写命令持续发送给从节点以保持数据一致性。