Redis 哨兵机制

作者: s_j_x | 来源:发表于2018-09-16 20:03 被阅读0次

Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:
· 监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。
· 提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。
· 自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。

    哨兵(sentinel) 是一个分布式系统,你可以在一个架构中运行多个哨兵(sentinel) 进程,这些进程使用流言协议(gossipprotocols)来接收关于Master是否下线的信息,并使用投票协议(agreement protocols)来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master.
    每个哨兵(sentinel) 会向其它哨兵(sentinel)、master、slave定时发送消息,以确认对方是否”活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的”主观认为宕机” Subjective Down,简称sdown).
若“哨兵群”中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称odown),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置.
    虽然哨兵(sentinel) 释出为一个单独的可执行文件 redis-sentinel ,但实际上它只是一个运行在特殊模式下的 Redis 服务器,你可以在启动一个普通 Redis 服务器时通过给定 --sentinel 选项来启动哨兵(sentinel).哨兵(sentinel) 的一些设计思路和zookeeper非常类似单个哨兵(sentinel)。


image.png

哨兵模式修改配置

在redis 安装文件中找到 sentinel.conf 配置文件


image.png

修改监听redis 的IP和端口号以及选举次数,以及密码
主节点 名称 IP 端口号 选举次数


image.png

修改心跳检测 1000毫秒


image.png
因为我的redis服务器很少一主一从 所以最多合格节点数只能配置成一
sentinel parallel-syncs mymaster 数值 --- 最多多少合格节点
image.png

启动哨兵模式
/usr/local/redis/etc/注意: 这个路径要根据你的sentinel所在的路径写。
./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
启动结果如下


image.png

下面再来确定一下从redis 的leader


image.png

ok ,现在让主redis 宕机


image.png

因为现在从redis 就一个 192.168.2.108


image.png

此时查看从redis 的信息 这是从redis 的角色已经变成master了


image.png

此时插入数据,已经可以做写入了

image.png

至此redis 的哨兵机制已经验证成功了。
。。。。。
那么如果现在把原先那个主的启动又会怎样呢?感兴趣的小伙伴可以继续向下看实验。

image.png

原来主的角色已经变成从的了。已经没有写的权限了。


image.png

好了,针对本次实验,总结一下整个过程。
本次实验
1、最开始 主的redis 服务器 命名为A 从的redis服务器命名为B。
2、为 B 配上redis的哨兵监听。
3、让A宕机,此时就剩一台B 。根据哨兵机制的投票选举算法只能选择B 此时B 就成了主redis。
4、当原先A重新启动,此时A 已经是从redis了。

相关文章

  • .netcore高级工程师面试之Redis的哨兵架构

    简介:Github 1 Redis Sentinal机制 sentinal,中文名哨兵 哨兵是redis集群架构中...

  • 突破Java面试(23-7) - Redis的哨兵架构

    Github 1 Redis Sentinal机制 sentinal,中文名哨兵 哨兵是redis集群架构中非常重...

  • Redis的高可用,哨兵机制Sentinel

    上一篇聊了Redis的主从复制以及实现原理,下面会在复制的基础上来说说Redis的高可用方案:哨兵机制 哨兵机制 ...

  • 16. Redis Cluster

    10. Redis Cluster 10.1 Redis Cluster工作原理 在哨兵sentinel机制中,可...

  • Redis 哨兵机制

    Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:· ...

  • Redis哨兵机制

    在主从架构状态下,如果master节点宕机,则不可以进行写操作,所以需要引入哨兵机制,重新选取master节点,保...

  • Redis哨兵机制

    1 作用和架构 1.1 作用 在介绍哨兵之前,首先从宏观角度回顾一下Redis实现高可用相关的技术。它们包括:持...

  • redis 哨兵机制

    哨兵机制的作用 服务发现和健康检查 故障切换流程 七大核心概念 哨兵如何知道Redis主从信息(自动发现机制) 什...

  • Redis 哨兵机制

    Sentinel Sentinel 进程是用于监控 redis 集群中 Master 主服务器工作的状态,在 Ma...

  • redis 哨兵机制

    sentinal(哨兵) 哨兵是redis集群架构中非常重要的一个组件,主要功能如下: (1)集群监控,负责监控r...

网友评论

    本文标题:Redis 哨兵机制

    本文链接:https://www.haomeiwen.com/subject/pavxnftx.html