主从服务器复制过程
2019-10-17 13:19:05 3 举报
Redis 主从复制流程图
作者其他创作
大纲/内容
SOCKET
PSYNC <runid> <offset>
主服务器处理命令并返回
关联复制的文件事件处理器
发送PING命令(测试网络情况和主服务器命令处理能力)
命令传播
部分重同步将挤压缓冲区中的命令发送给从服务器执行
从服务器
身份认证
主服务器未配置requirepass,返回错误
将从服务器作为一个客户端关联
主从服务器数据库状态达成一致
从服务器断开重连
发送PING命令
主服务器回复内容为PONG
主服务器
REPLCONF
主服务器将端口保存在redisclient的slave_listening_port属性中
从服务器在这时会成为主服务器的客户端,执行主服务器发送的命令
从服务器未配置masterauth,不发送AUTH,但主服务器配置了requisrepass,身份认证未通过
根据runid和offset确定是完整重同步还是部分重同步
创建TCP链接
返回给客户端OK(异步)
AUTH masterauth选项值
从服务器设置了masterauth时
开始执行复制流程
PING
主服务器的requirepass与masterauth不一致
从服务器将监听的端口发送给主服务器
SLAVEOF命令
完整重同步由主服务器子进程生成RDB文件,并记录同步过程中的写命令发送给从服务器执行
发送PSYNC命令
从服务器接受传播的命令并执行,继续维持主从数据库状态一致性
主服务器将写命令传播给从服务器
设置主服务器的IP和端口
获取主服务器回复超时或者回复为错误消息
发送REPLCONF linstening-port <port-number>
0 条评论
下一页