1.全量同步流程
- - slave节点建立连接请求增量同步
- - master节点判断replid,发现不一致,拒绝增量同步
- - master将完整内存数据通过bgsave生成RDB,发送RDB到salve
- - slave清空本地数据,加载master的RDB
- - master将RDB期间的命令记录在repl_backlog,并持续将log中的命令发送给slave
- - salve执行接收到的命令,保持与master之间的同步
2.简述全量同步和增量同步的区别
全量同步:master将完整内存的数据生成RDB,发送RDB到slave。后续命令则记录在repl_backlog,逐个发送给slave。
增量同步:slave提交自己的offset到master,master获取repl_backlog中从offset之后的命令给slave。
3.什么时候执行全量同步
slave节点第一次连接master节点时
slave节点断开时间太久,repl_baklog中美的offset已经被覆盖时
4.什么时候执行增量同步
slave节点断开又恢复,并且在repl_baklog中能找到offset时