Redis详解(七)——Redis主从同步高可用架构

今天继续给大家介绍Redis相关知识,本文主要内容是Redis的主从同步高可用架构。
阅读本文,您需要有一定的Redis主从同步基础,如果您对此还存在困惑,欢迎您查阅我博客内的其他文章,相信您一定会有所收获!
文章链接:
Redis详解(六)——Redis主从同步原理与配置

一、Redis sentinel实现高可用原理

Redis详解(六)——Redis主从同步原理与配置文中,我们介绍了Redis的主从同步的配置实现,Redis主从同步很好的解决了高并发量场景下单台Redis服务器无法应对的问题,通过将Redis的读写压力进行分流,实现多台Redis服务器共同承担读写压力的问题。
尽管Redis主从同步的架构非常有用,但是却存在这Redis主库失效时整个架构无法写入内容的问题,针对这种场景,我们引入了Redis的哨兵机制。Redis哨兵,即sentinel,是Redis自带的一种实现高可用集群的Redis主库单点故障的解决方案。sentinel既可以监控架构,又可以提供配置功能,当sentinel发现Redis主服务器失效时,可以将从服务器中的一个自动提升为Redis主库,并且配置其他的Redis从库指向新的Redis主库。但是,为了避免sentinel的单点故障,我们应当把多台运行sentinel的设备配置为sentinel集群,当多个sentinel节点发现redis主服务器离线时,才会进行Redis主库的切换,以此来避免误判和sentinel的单点故障。
Redis哨兵会自动监控Redis主库,并且从Redis主库中获取整体的架构信息,多个sentinel之间使用“留言协议”来接收其他sentinel的信息,并使用投票机制来决定是否进行Redis架构的故障切换和选择新的Redis主服务器。
在安装Redis时也会自动安装sentinel,Redis哨兵自身也含有配置文件,如果Redis是采用YUM的方式进行安装,则sentinel的配置文件是/etc/redis-sentinel.conf。

二、Redis sentinel实现高可用配置实战

下面,我就进行Redis哨兵sentinel实现高可用配置。

(一)实战环境

实战环境如下:
Redis主服务器:192.168.136.11
Redis从服务器兼sentinel:192.168.136.12
Redis从服务器:192.168.136.13

(二)Redis主从同步配置

有关Redis主从同步的配置方式比较简单,可以参考文章:Redis详解(六)——Redis主从同步原理与配置。在这里就不过多赘述了,当按照要求配置好Redis主从同步后,在主库上查看信息,发现如下所示:
在这里插入图片描述

(三)sentinel配置

首先,我们先修改sentinel的配置文件,打开/etc/redis-sentinel.conf文件后,找到bind位置,将原来在注释中的bind内容改为:

bind 0.0.0.0

另外,搜索找到sentinel monitor处,将其修改为:

sentinel monitor mymaster 192.168.136.11 6379 1

其中sentinel monitor为固定命令,mymaster为给sentinel监控的架构起的一个名字,该名字可以任意,后面的IP地址为该架构下Redis主库的IP地址,后面的端口为该Redis主库的端口,最后的1表示当有1个sentinel投票决定进行故障转移时有效。配置完成后,启动sentinel,命令为:

systemctl start redis-sentinel

如果启动成功,会自动监听本地的26379端口,如下所示:
在这里插入图片描述
我们可以以登录redis的方式登录sentinel,并查看当前sentinel的监控架构,结果如下所示:
在这里插入图片描述
执行命令:

sentinel masters

可以查看Redis主库的相关信息,如下所示:
在这里插入图片描述
执行命令:

sentinel slaves 【架构名】 

可以查看该架构下的Redis从库相关信息,如下所示:
在这里插入图片描述
下面,我们停止掉Redis主库(192.168.136.11),等待一段时间后,查看其余两台Redis从库上的同步信息,如下所示:
在这里插入图片描述
在这里插入图片描述
显然,在Redis哨兵的作用下,Redis集群重新选择了192.168.136.13作为新的Redis主库,并且192.168.136.12指向了新的Redis主库,实验配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值