ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Redis重要知识点:哨兵是什么?哨兵如何选择Redis主服务器
[打印本页]
作者:
莱莱
时间:
2024-9-13 12:40
标题:
Redis重要知识点:哨兵是什么?哨兵如何选择Redis主服务器
弁言
哨兵贼简单,就是一个节点去看守领一个节点有没有挂掉,挂掉的数量比较多那得新选主节点了。
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在主观判断下线后,会向其他Sentinel进行扣问
是否同意
该节点已下线,当标志下线的
数量富足多
就会判断客观下线。
下面是哨兵们和Redis主从服务器之间藕断丝连的关系。
1.3 检测下线状态不一致
各个
哨兵的配置
对检测下线的配置差别,可能会产品奇奇怪怪的标题,大家要注意下。
假如我们的A、B两个哨兵配置的是检测主观下线状态,哨兵会判断Redis实例进入主观下线
所需的响应时间长度
。
胡广
假设A哨兵的配置是10000毫秒、B哨兵是50000毫秒,但此时Redis实例要在20000毫秒才响应,像这种环境就会发生A哨兵判断Redis实例下线,但B哨兵判断Redis实例仍然存活的环境。
2. 哨兵选举
2.1 选举领头哨兵
大家注意不要把领头哨兵和Redis主服务器弄混淆了,不然可就尴尬了哈。
胡广
先说说领头哨兵的作用,省得大家误解。
领头Sentinel
起到执行故障转移的作用,也就是
选举出新的Redis主服务器
,而且只有当Redis主服务器被判断
客观下线
后才会选举出领头Sentinel。
那领头哨兵要怎么选择出来呢?选举出这个天选之子。
Sentinel哨兵设置局部领头Sentinel的规则是
先到先得
。
最先向
目标Sentinel
发送设置要求的源Sentinel将成为目标Sentinel的
局部领头Sentinel
,而之后吸收到的所有设置要求都会被目标Sentinel拒绝。
假如有某个Sentinel被
半数以上
的Sentinel设置成了局部领头Sentinel,那么这个Sentinel就会成为领头Sentinel。
2.2 选举Redis主服务器
看到这,我来和大家讲讲哨兵最重要的第二个功能:选举出新的Redis主服务器。
(1)领头Sentinel会将已下线Redis主服务器的所有Redis从服务器保存到一个列表里面。
(2)通过
删除策略
,删除所有处于下线或者断线状态的、删除迩来五秒内没有回复过领头Sentinel下令的、删除与已下线主服务器毗连断开高出10毫秒的。
(3)假如有多个雷同优先级的从服务器,将按照
复制偏移量
进行排序选出偏移量最大的,复制偏移量最大也就是数据同步最新的。
(4)末了选出的Redis实例也就成为新的Redis主服务器。
竣事啦
你好,我是
胡广。
致力于为资助兄弟们的
学习方式、口试困难、入职经验
少走弯路而写博客
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4