redis入门到精通系列(九):redis哨兵模式详解

(一)哨兵概述

前面咱们讲了redis的主从复制,为了实现高可用,会选择一台服务器做为master,多台服务器做为slave。如今有这样一种状况,master宕机了,这时系统会选择一台slave做为master,而后把宕机的master下线,再通知全部slave新的master是谁。这里就产生了一个问题,master是否宕机、选择哪台slave做为master都是谁来决定的?linux


在主从复制中由哨兵(sentinel)来完成这些操做,哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时经过投票机制选择新的master。redis


哨兵也是一台redis服务器,一般配置哨兵数量为单数(竞选时避免打平)。服务器


(二)哨兵的做用

1.监控:不断检查master和slave是否正常运行;master存活检测;master与slave运行状况检测app

2.通知:当被检测服务器出现问题时,向其余哨兵和客户端发送通知分布式

3.自动故障转移:断开master和slave链接,选取一个新的slave为master,将其余slave链接到新的master上ide


(三)哨兵的工做原理


3.1 监控阶段

监控是哨兵的做用之一,监控是为了同步各个节点的状态信息spa

1.获取其余各个哨兵的状态(是否在线),经过ping命令orm

2.获取master的状态,主要包括master的runid,各个slave的详细信息等等,经过info指令对象

3.获取全部的slave的状态(根据master中的slave信息),主要包括slave的runid,role,host,offset等等。blog

当两个sentinel分别获取到master或slave的监控信息后,为了数据的同步会相互交流数据,一样当第三个sentinel得到监控信息后,也会和另外两个sentinel互相同步数据。


3.2 通知阶段

通知阶段主要是各个sentinel的相互交流,假设一个系统有三个sentinel,当sentinel1询问主从服务器状态而且获得回复以后,他会他消息告诉sentinel2和sentinel3。一样的当sentinel2获得消息后也会告诉1和3。使得数据始终同步。


3.3 故障转移阶段

当一台master宕机了,这就进入了故障转移阶段。


1.首先一个sentinel发现给master不回应消息,因而把这个master的状态设置为sdown,并通知给其余的sentinel。其余的sentinel就会发送hello给该master,当一半以上(能够设置)的sentinel以为这个master确实宕机了,因而master的状态就被设置为odown,这就进入了第二步。


2.既然master宕机了,那就须要选举新的master,哪一个sentinel去选择master,须要通过sentinel内部的投票机制来实现。当选出去执行找出新master的sentinel后,进入第三步。


3.sentinel从slave中选择一个当成新的master有如下原则 淘汰未在线的 淘汰响应慢的 淘汰与原master断开时间久的 最终在剩下的slave中根据优先级,offset等选择一台成为新master


4.sentinel向新的master发送指令:


slaveof no one

向其余slave发送指令


slaveof 新masterIP 端口

(四)哨兵的操做

关于哨兵的操做建议在linux服务器下操做

开启哨兵:


redis-sentinel sentinel.conf (配置的文件名自定义)

配置文件


port 26379dir /tmpsentinel monitor mymaster 127.0.0.1 6379 2  #设置哨兵监控的主机为127.0.0.1:6379,当2台哨兵认为宕机后则认为该主机宕机sentinel down-after-milliseconds 30000   #链接多长时间未响应就认为被监控服务器宕机parallel-syncs mymaster 1  #指定了在执行故障转移时, 最多能够有多少个从服务器同时对新的主服务器进行同步failover-timeout mymaster 180000  #指定了故障转移的同步超时时间

sentinel monitor mymaster 127.0.0.1 6379 2:127.0.0.1 6379表示该哨兵监控的对象,其中mymaster是本身定义的一个名字,最后一位2表示当有2个哨兵认为这个被监控服务器宕了,就确认该服务器宕机。这一位的取值每每是哨兵数量/2+1,即一半以上。当主机宕机后,哨兵会自动从从机中选出一台当成主机


图片
相关文章
相关标签/搜索