redis 主从复制过程

主从复制有两种状态,全局复制, 局部复制
全局复制, 全局复制发生在从服务器启动时触发

主服务器 从服务器
1 等待客户端命令 连接主服务, 并发送Sync同步命令
2 创建一个子进程把数据写入硬盘生成快照,父进程继续处理客户端的命令, 并把写命令记录写入缓存 等待同步, 在期间也会根据配置选择不同的方式处理客户端的命令, 使用原有数据处理或返回错误
3 发送快照 , 在发送期间继续处理命令, 并把写命令记录写入缓存 接收快照, 并把旧数据清空, 解析快照数据
4 发送命令缓存 接收命令并处理

局部复制很简单, 主服务器每次接收到写命令,处理完成后就发送同样的命令到从服务

一台主服务可以有多台从服务器, 一台从服务器也可以有多个从服务, 主服务器下的从服务器不是越多越好的, 因为主服务器如果有数据更新的话会同步到每个从服务器中, 如果从服务有10台, 客户端向主服务器发送100条写的命令, 那么主服务也会发送10 * 100条命令到从服务器。 而且服务器越多发生的宕机机率就越高, 从服务器宕机恢复后,主服务器还会跟这台从服务器进行全量数据同步, 这个过程非常损耗主服务器的性能。 在进行大量的redis集群部署时, 可以在主从服务器之间加上一层专门复制的从服务器, 如下图:


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容