Redis的高可用实现

5 篇文章 0 订阅
本文介绍了如何使用Redis Sentinel实现高可用,包括主观下线、客观下线的概念,哨兵节点选举和新主节点选举规则。详细步骤包括在主、从节点配置Sentinel服务,以及配置后的测试验证。
摘要由CSDN通过智能技术生成

如何实现redis的高可用

1、实现前提

需要配置好redis的主从复制,并且准备好三台虚拟机用于模拟。
此处与redis主从复制准备的虚拟机相同。

2、redis实现高可用的原理

redis提供了Redis Sentinel(哨兵)架构来解决无法自动更改主节点的问题。

(1)什么是主观下线

每隔一秒,每个哨兵节点会向主节点、从节点和其余哨兵节点操作一条ping的命令来做心跳检测,当这些节点超过一定时间没有进行有效的回复时,哨兵节点会对该节点作失败判定,这个行为叫主观下线,由该哨兵节点独自判定

(2)什么是客观下线

哨兵节点主观下线的节点是主节点时,该哨兵节点会向其他的哨兵节点询问对主节点的判定结果,若失败的判定结果超过某个设定的个数,意味着多数哨兵节点都同意这个主节点下线,于是哨兵节点认为主节点确实应该下线,此时哨兵节点会作出客观下线的决定

(3)领导者哨兵(Sentinel)节点选举规则

某哨兵节点最先完成客观下线,那它会向其他哨兵节点发送命令,请求成为领导者哨兵,收到命令的其他哨兵节点如果没有同意过其他哨兵节点的请求,那么就会同意该哨兵节点的请求,否则拒绝,当该哨兵节点发现自己的票数大于等于某个设定值时,它将成为领导者哨兵

(4)新主节点选举规则

领导者哨兵在节点列表中选取一个节点作为新的主节点,这个节点要与上个主节点复制的相似度最高领导者哨兵会命令其余从节点成为新的主节点的从节点,哨兵节点集合会将原来的主节点更新为从节点,并在其恢复后命令它成为新的主节点的从节点

3、在主节点端操作

(1)将安装目录中的sentinel文件复制到/etc/redis下

命令功能
cd redis安装目录进到该目录中方便操作
cp sentinel.conf /etc/redis将该文件复制到/etc/redis下
cd /etc/redis进到该目录中方便操作

(2)修改配置

命令功能
vim sentinel.conf修改该文件
17 protected-mode no		|关闭保护模式

98 sentinel monitor master1 172.25.2.1	6379 2		|意为让哨兵节点监控名为master1的主服务器,该主服务器ip为172.25.2.1,端口为6379,当超过2个哨兵节点给出判定失败时,该主服务器可被判定为失败下线。

在这里插入图片描述
在这里插入图片描述

(3)开启sentinel服务

命令功能
redis-sentinel /etc/redis/sentinel.conf开启服务,可看到主服务器和从服务器信息

在这里插入图片描述

4、在从节点端操作

(1)配置从节点端配置文件

将主节点端配置好的sentinel.conf文件拷贝到从节点端即可。

(2)开启sentinel服务

redis-sentinel /etc/redis/sentinel.conf |开启服务,可看到主服务器和从服务器信息

5、配置完成后测试

1、在主节点端配置

命令功能
redis-cli进入redis
info查看信息
SHUTDOWN停掉redis

在这里插入图片描述
在这里插入图片描述

2、在任意服务端查看

命令功能
redis-sentinel /etc/redis/sentinel.conf查看主服务器和从服务器信息,对比先前信息,发现此时主服务器信息改变,则成功测试高可用redis

在这里插入图片描述
在服务端的sentinel服务信息中可以查看到主节点down掉之后发生的改变,如领导者哨兵投票过程及结果、主节点投票过程及结果等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值