在上一篇redis简单搭建主从复制中,我们介绍了如何搭建redis的一主二从复制模式,基本结构图如
文章图片
上图中的slave节点可以有很多个,这样就会一个master挂了很多slave,导致master的压力很大。为了解决这个问题,我们以缓解master的压力为目的,使用去中心化(不是所有slave都和master有直接关系)主从复制模式,基本结构图如下:
文章图片
上图中,将原本一个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
文章图片
再一次查看slave1、slave2和slave3上是否存在k10
文章图片
文章图片
文章图片
从上面结果看,master中的数据会复制到各个节点。
通过命令Info replication查看slave1的role
文章图片
上面的结果可知,role是slave,同时可以看到其连接的slave数和ip地址。
【redis|redis之去中心化主从复制模式】总结:本文主要介绍了redis去中心化的一种主从复制模式,目的是缓解master的压力。后续将会突出非常流行的一种模式-哨兵模式,敬请期待!
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Redis|redis原理之布隆过滤器(Bloom Filter)
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- redis安装与基本使用