面试题答案
一键面试交互逻辑
- 从节点定时发送 REPLCONF ACK 命令:从节点以一定时间间隔向主节点发送
REPLCONF ACK <offset>
命令,其中<offset>
是从节点当前已复制的主节点数据偏移量。 - 主节点接收并处理:主节点接收到
REPLCONF ACK
命令后,会记录从节点当前的复制偏移量,同时检查从节点复制的进度。
作用
- 检测连接状态:通过从节点定时发送心跳命令,主节点能确认从节点是否存活,若长时间未收到心跳,主节点可判定连接异常,采取相应措施(如断开连接、重新建立等)。
- 保证数据同步一致性:主节点根据从节点汇报的偏移量,判断从节点是否落后。若从节点落后,主节点可决定是否需要补发数据,确保从节点与主节点的数据尽可能实时同步。同时,从节点通过汇报偏移量,也让主节点了解数据复制情况,进而维持整个主从集群数据同步状态的一致性。