ITPub博客

首页 > 数据库 > NoSQL > Redis主从复制流程概述

Redis主从复制流程概述

原创 NoSQL 作者:chenfeng 时间:2018-10-29 16:29:05 0 删除 编辑

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一致。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2217940/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,MongoDB和Redis技术。 微信或QQ:410294

注册时间:2015-12-07

  • 博文量
    758
  • 访问量
    2192715