1-slave节点请求全量同步,发送replid(节点ID)和offset(偏移量)
2-master节点判断replid,当节点不一致时,采用全量同步操作(证明是该节点第一次同步)
3-master节点采用bgsave的方式将完整数据内存生成RDB文件,
并将RDB文件发送至slave
4-slave清空本地数据,加载master的rdb数据
5-master在保存RDB文件的同时会将命令记录在repl_baklog中,并持续的将log
中的命令发送给slave
6-slabe加收到命令,保持与master之间的同步
备注:
replid-数据集的ID,在slave节点同步主节点后继承主节点的replid
offset-偏移量,随着reol_baklog中的数据增多而变大,slave同步完成时
也会记录offset同步,如果slave的offset小于master的offset,证明slave
的数据落后于master,需要进行同步