Rsdis哨兵

概述

监控:不间断的检查主从服务是否如预期一样正常工作

事件通知:对被监视的redis实例的异常,能通知系统管理员,或者以API接口通知其他应用程序。

智能援救:当被监视的主服务异常时,哨兵会智能的把某个从服务提升为主服务,同时其他从服务与新的主服务之间的关系将得到重新的配置。应用程序将通过redis服务端重新得到新的主服务的地址并重新建立连接。

配置服务:客户端可连接哨兵的接口,获得主从服务的相关信息,如果发生改变,哨兵新通知客户端。
哨兵的分布式
哨兵是个分布式系统,通过配置文件可以多个哨兵合作,以实现它的健壮性:

1.某个主服务是否正常,需要通过多个哨兵确认,这样可保证误判的低概率。

2.当哨兵工作的时候,总会有个别哨兵不能正常运行,如个别系统出现故障,所以多个哨兵合作运行,保证了系统的健壮性。

所有的哨兵、redis实例(包括主与从)和客户端相互之间会有交互,这是一个大的分布式系统,在此文档中将由浅入深地介绍哨兵的基础概念,以便更好的理解其基本属性,然后是更复杂的特性,让你理解它是如果精确的工作。

哨兵工作原理说明

  1. 当哨兵启动时,会监控当前的主机信息.同时获取链接当前主机的从机信息.
  2. 当哨兵利用心跳检测机制(PING-PONG),检验主机是否正常.如果连续3次发现主机没有响应信息.则开始进行选举.
  3. 当哨兵选举完成之后.其他的节点都会当做新主机的从.

只要设定待监控的主服务,并给它取一个唯一的名称,从服务会被自动检查到,不需要手动指定。哨兵将更新配置文件,当以下几种情况发生时,1.新的从服务被侦测到,2.当异常发生,有从服务被提升为主服务时,3.新的哨兵被侦测到时。

1.准备

在这里插入图片描述

//创建sentinel文件夹
//将redis.conf复制到其中(这里我准备三个)
[root@localhost redis]# cp redis.conf sentinel/6379.conf
[root@localhost redis]# cp redis.conf sentinel/6380.conf
[root@localhost redis]# cp redis.conf sentinel/6381.conf
//将sentinel.conf复制到sentinel中
[root@localhost redis]# cp sentinel.conf sentinel
[root@localhost redis]# cd sentinel

启动它们
在这里插入图片描述
通过以下代码设置主机(在两个redis服务器中设置主机)

SLAVEOF 192.168.126.129 6381

在这里插入图片描述
(ps:把6379变成了6380的从机)
通过代码查看主从

info replication

在这里插入图片描述

2.配置一下方便测试的环境

查看行

:set nu 

1).修改保护模式

//把这个注释去掉(因为默认是yes,开启保护模式),如下:
protected-mode no

2).开启后台运行

//改成yes,如下:
daemonize yes

3).修改哨兵的监控

//其中的1表示投票生效的数量(默认是2)
//将路径和生效票数改一下
sentinel monitor mymaster 192.168.126.129 6381 1

4).哨兵宕机之后的选举时间

//如果主机宕机10秒之后开始进行推选.
sentinel down-after-milliseconds mymaster 10000

5.修改哨兵选举的超时时间

//设置成20秒后开始选举
sentinel failover-timeout mymaster 20000

3.启动哨兵

redis-sentinel sentinel.conf

关于哨兵选举平票的说明
如果有多个哨兵进行选举,如果连续3次投票失败,可能引发脑裂现象的发生.
问题: 脑裂现象发生的概率是多大?? 1/8 = 12.5%
解决策略: 只要增加选举的节点的数量,可以有效的降低脑裂现象的发生. 概率论

关于分片哨兵的总结说明
分片:
1.主要的作用实现内存数据的扩容.
2.由于运算发生在业务服务器中,所以执行的效率更高.
3.Redis的分片没有高可用的效果. 如果其中一个节点出现了问题则导致程序运行出错.
哨兵机制:
1.实现Redis高可用,当redis服务器发生宕机的现象时,哨兵可以灵活的监控.实现自动的选举实现 故障的迁移.
2.哨兵中所监控的redis节点中的数据都是相同的. 无法实现海量的数据存储.
3.哨兵虽然可以实现redis的高可用,但是由于哨兵的本身没有实现高可用.所以存在风险.
如果想要最大程度上减少损耗,则建议不要引入第三方的监控

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值