Redis包含master和slave两种节点:master节点对外提供读写服务,slave节点作为master的数据备份,从主节点全量同步数据,主从复制架构下,默认Slave是只读的,如果写入则会报错,
Redis包含master和slave两种节点:master节点对外提供读写服务,slave节点作为master的数据备份,从主节点全量同步数据,主从复制架构下,默认Slave是只读的,如果写入则会报错,但可以通过设置slave-read-only参数为no改为可写。
主从复制是由slave主动触发,流程如下:
1.首先slave向master发起sync命令,发起后,master被动的将新进的slave节点加入到自己的主备复制集群。
2.master收到sync后,开启bgsave操作。
3.bgsave完成后,master将快照信息发送给slave.
4.发送期间,master收到的来自用户客户单的新的写命令,除了正常的响应之外,都再存入一份到backlog队列中。
5.快照信息发送完成后,master继续发送backlog队列信息。
6.backlog发送完成后,后续的写操作同时发给slave来保持实时的异步复制。
slave端处理逻辑如下:
slave发送完sync后,继续对外提供服务。
开始接收master的快照信息,同时,将slave现有数据清空,并将master快照写入自身内存。
接收backlog内容并执行,期间对外提供读请求。
继续接收后续来自master的命令副本并继续回放,以保持数据和master一致。
--结束END--
本文标题: Redis主从复制流程概述
本文链接: https://lsjlt.com/news/45405.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0