美文网首页
Redis 哨兵机制

Redis 哨兵机制

作者: Alexander_Zz | 来源:发表于2019-04-25 19:56 被阅读0次

Sentinel

Sentinel 进程是用于监控 redis 集群中 Master 主服务器工作的状态,在 Master 主服务器发生故障的时候,可以实现 Master 和 Slave 服务器的切换,保证系统的高可用,其已经被集成在 redis2.6+的版本中,Redis 的哨兵模式到了 2.8 版本之后就稳定了下来。一般在生产环境也建议使用 Redis 的 2.8 版本的以后版本。哨兵 (Sentinel) 是一个分布式系统,你可以在一个架构中运行多个哨兵 (sentinel) 进程, 这些进程使用流言协议 (gossipprotocols) 来接收关于 Master 主服务器是否下线的信息,并使用投票协议 (Agreement Protocols) 来决定是否执行自动故障迁移,以及选择哪个 Slave 作为新的 Master。每个哨兵 (Sentinel) 进程会向其它哨兵 (Sentinel)、Master、Slave 定时发送消息,以确认对方是否 ”活” 着,如果发现对方在指定配置时间 (可配置的) 内未得到回应,则暂时认为对方已掉线,也就是所谓的 ”主观认 为宕机” ,英文名称:Subjective Down,简称 SDOWN。有主观宕机,肯定就有客观宕机。当“哨兵 群”中的多数 Sentinel 进程在对 Master 主服务器做出 SDOWN 的判断,并且通过 SENTINEL is-masterdown-by-addr 命令互相交流之后,得出的 Master Server 下线判断,这种方式就是 “客观宕机”,英文名称是:Objectively Down, 简称 ODOWN。通过一定的 vote 算法,从剩下的 slave 从服务器节点中,选一台提升为 Master 服务器节点,然后自动修改相关配置,并开启故障转移(failover)。
Sentinel 机制可以解决 master 和 slave 角色的切换问题。


Sentinel 配置

  • 配置文件
       ####### Node 1 #######
~]# vim /usr/local/redis/etc/sentinel.conf
bind 172.18.33.101
port 26379
daemonize yes
pidfile "/usr/local/redis/run/redis-sentinel.pid"
logfile "/usr/local/redis/logs/sentinel_26379.log"
dir "/usr/local/redis"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.18.33.101 6379 2   # 投票机制,过半数
sentinel auth-pass mymaster 123456

       ####### Node 2 #######
~]# vim /usr/local/redis/etc/sentinel.conf
bind 172.18.33.102
port 26379
daemonize yes
pidfile "/usr/local/redis/run/redis-sentinel.pid"
logfile "/usr/local/redis/logs/sentinel_26379.log"
dir "/usr/local/redis"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.18.33.101 6379 2   # 投票机制,过半数
sentinel auth-pass mymaster 123456

       ####### Node 3 #######
~]# vim /usr/local/redis/etc/sentinel.conf
bind 172.18.33.103
port 26379
daemonize yes
pidfile "/usr/local/redis/run/redis-sentinel.pid"
logfile "/usr/local/redis/logs/sentinel_26379.log"
dir "/usr/local/redis"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.18.33.101 6379 2   # 投票机制,过半数
sentinel auth-pass mymaster 123456
image.png

相关文章

  • .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/rjjzgqtx.html