Redis-主从复制-原理
2020-04-22 10:26:47 0 举报
redis主从执行流程
作者其他创作
大纲/内容
是
否
发送从服务器
服务接收到slaveof命令
向从服务器返回+CONTINUE
是否第一次执行主从复制
PSYNC RUN_ID OFFSET
bgsave生成RDB文件;记录写命令到复制缓冲区;执行完整同步
OFFSET是否包含在复制缓冲区
接收后续的主服务器发送过来的命令请求
返回复制缓冲区中命令请求;执行部分同步
Redis 2.8之后版本
主服务器接收到psync命令
缓存bgsave命令执行之后收到的命令
从服务器执行主服务器缓存命令
2.8之后增加增量同步机制:1、从服务器保存的主服务器RUN_ID必须和需要同步的机器RUN_ID相同2、复制偏移量必须包含在复制缓冲区中。
RUN_ID与自己的运行ID是否相等
sync命令
bgsave执行持久化操作,生成快照
服务器接收到slaveof 命令
PSYNC ? -1
从服务器加载快照
Redis 2.8之前版本
向从服务器返回+FULLRESYNC RUN_ID OFFSET
2.8版本之前的这种主从复制存在的问题:1、主从连接发生故障重连成功后,如果这段时间执行的命令很少,还会执行快照同步,因为bgsave的持久化操作是一个很耗资源的操作,所以是否有必要避免快照同步?
0 条评论
下一页