1:主从模式
使用sync或者psync进行通信
初次同步:
->从服务器接收slaveof
->像主服务器发送sync或psync命令
->主服务器执行BGSAVE生成RDB文件,并使用缓冲区记录现在开始所有执行命令
->主服务器发送rdb到从服务器
->从服务器开始复制,同步完成后
->主服务器把缓冲区记录的新命令发送给从服务器,知道从服务器执行并保持一致
sync全部同步,psync可以从断开的地方同步,2.8版本以后支持
psync如何实现部分重同步:
主从都会复制一个偏移量,主发送了5就N+5,从接收了5就n+5,当n一致就是数据一致,有偏差,差值就是字节数,字节数如果小于主服务器的(复制积压缓冲区大小)就直接发送缓冲区的部分数据,反之已然要全部复制
复制积压缓冲区:
主服务器维护的先进先出的字节队列,默认1Mb.每个字节都有自己的偏移量。当重连,主收到从的偏移量后,如果偏移量在缓冲区之中,只要发送后面的数据就行。
记录主服务器ID&#x