引言
哨兵贼简单,就是一个节点去看守领一个节点有没有挂掉,挂掉的数量比较多那得新选主节点了。
1. Redis哨兵
1.1 哨兵作用
哨兵的含义是什么?我们来看看百度百科的解释。
哨兵,汉语词语,是指站岗、放哨、巡逻、稽查的士兵
Redis主从架构也有自己的哨兵,名为Sentinel。Sentinel是什么含义,我们看看英文含义,很遗憾这个英文起名没有什么故事可讲,英文意思还是哨兵。
Redis哨兵本质是一个运行在特殊模式下的Redis服务器,并不是特殊要另外部署的服务模块。哨兵可以是一个,如果公司资金充足的话,部署由多个Sentinel实例组成的哨兵系统也是可以的。
那哨兵有什么作用?
它的主要作用是通过检测Redis主从服务器的下线状态,选举出新Redis主服务器,也就是故障转移,来保证Redis的高可用性。
1.2 检测主从下线状态
我们先来讲讲哨兵最重要的第一个功能,检测Redis主从服务器下线状态,后面我们再来讲讲故障转移。
哨兵检测主从服务器下线状态有两种方式,分为主观和客观,我们可以给哨兵配置其中一种。
(1)检测主观下线状态:默认情况Sentinel会每隔 1 s向Redis主、从服务器发送PING命令,通过PING命令返回的信息来判断Redis主从服务器的下线状态。
(2)检测客观下线状态:Sentinl在主观判断下线后,