远程字典服务 — Redis 札记(十八:哨兵模式)

哨兵模式概述

主从复制切换技术的方法:当主服务器宕机后,需要手动把一台 从服务器 切换为 主服务器 ,这就需要人工干预,费时费力,还会造成一段时间内服务不可用,这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式,Redis 从 2.8版本开始正式推出 Sentinel(哨兵)架构来解决这个问题

哨兵能够在后台监控主机是否发生了故障,如果故障了就会根据投票数自动将从服务器 转换为 主服务器

哨兵模式是一种特殊的模式,首先 Redis 提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行,其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个 Redis 实例

在这里插入图片描述

这里的哨兵有两个作用

1、通过发送命令,让 Redis 服务器返回监控其运行状态,包含主服务器从服务器
2、当哨兵检测到Master 宕机,会自动将 Slave 切换成 Master,然后通过 发布订阅模式通知其他的从服务器,修改配置文件,让他们切换主机

同时一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。

在这里插入图片描述

假设主服务器宕机,哨兵一号 先检测到这个结果,系统并不会马上进行 failover 过程,仅仅是哨兵一号 主观的认为主服务器不可用,这个现象称为 主观下线,当后面的哨兵也检测到主服务器不可用,并且数量到达一定值,那么哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行 failover 【故障转移】操作,切换成功后,就会通过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机,这个过程称为 客观下线

测试哨兵模式

1、新建哨兵的配置文件 sentinel.conf

内容为:

sentinel monitor 被监控的名称  host port  num
sentinel monitor myRedis 127.0.0.1 6379 1

此时这个 num ,代表主机挂了,Slave 投票看是哪个从机 接替成为主机,票数最多的,就会成为主机

2、启动哨兵

命令:[root@csnz bin]# redis-sentinel csnzConfig/sentinel.conf

在这里插入图片描述

3、测试主节点崩了,哨兵会如何运行

在这里插入图片描述

等待30秒

结果:哨兵会从 从机中随机选择一个服务器(投票算法)

在这里插入图片描述

查看

在这里插入图片描述

如果此时重启6379服务,主机会发生变化吗?

在这里插入图片描述
发现 6379服务 的 master 也会自动变成 6380服务了
在这里插入图片描述

哨兵模式的优点

1、哨兵集群,基于主从复制模式,所有的主从配置优点,它也有
2、主从可以切换,故障可以转移,系统的可用性就会更好
3、哨兵模式就是主从模式的升级,手动到自动,更加健壮

哨兵模式的缺点

1、Redis 不好实现在线扩容,集群容量一旦到达上限,在线扩容就会变得十分麻烦
2、哨兵模式的配置 实现麻烦,选择众多,[ 关于哨兵模式的配置完整版可查看百度内容 ]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值