redis|redis之去中心化主从复制模式

在上一篇redis简单搭建主从复制中,我们介绍了如何搭建redis的一主二从复制模式,基本结构图如
redis|redis之去中心化主从复制模式
文章图片

上图中的slave节点可以有很多个,这样就会一个master挂了很多slave,导致master的压力很大。为了解决这个问题,我们以缓解master的压力为目的,使用去中心化(不是所有slave都和master有直接关系)主从复制模式,基本结构图如下:
redis|redis之去中心化主从复制模式
文章图片

上图中,将原本一个master的3个slave节点,转化为一个master挂一个slave,该slave再挂2个slave,就大大降低了master的压力。数据也是有master复制到slave1,再由slave1复制到slave2和slave3。下面我们会动手搭建这样一个去中心化的复制模式。本文不再对如何搭建复制模式多做赘述,有兴趣的可以看下我的上一篇文章。
第一步:服务器redis节点介绍
(1)主master:ip:192.168.121.139 port:6379
(2)从slave1:ip:192.168.121.139 port:6380
(3)从slave2:ip:192.168.121.140 port:6381
(4)从slave3:ip:192.168.121.140 port:6382
第二步:分别启动各个节点,这是都是master,在slave1节点上执行slaveof 192.168.121.139 6379,使其挂在master上。在slave2和slave3上分别执行slaveof 192.168.121.140 6380,连接slave2,这样就实现了我们的结构图所示的那样。
第三步:下面我们主要解决以下问题
(1)在master上set数据,数据是否会同步到slave1、slave2和slave3?
(2)查看slave1的role,到底是master还是slave?
首先,我们在master上set k10 v10
redis|redis之去中心化主从复制模式
文章图片

再一次查看slave1、slave2和slave3上是否存在k10
redis|redis之去中心化主从复制模式
文章图片

redis|redis之去中心化主从复制模式
文章图片

redis|redis之去中心化主从复制模式
文章图片

从上面结果看,master中的数据会复制到各个节点。
通过命令Info replication查看slave1的role
redis|redis之去中心化主从复制模式
文章图片

上面的结果可知,role是slave,同时可以看到其连接的slave数和ip地址。
【redis|redis之去中心化主从复制模式】总结:本文主要介绍了redis去中心化的一种主从复制模式,目的是缓解master的压力。后续将会突出非常流行的一种模式-哨兵模式,敬请期待!

    推荐阅读