我们需要知道 Sentinel 是通过对自己监控的所有实例(主服务器、从服务器、监控当前主服务器的其他Sentinel)发送PING 命令来判断服务是否下线的,然后Sentinel既然发送了一个命令,那么自然希望得到回复, 这个回复也是Sentinel进行判断的重要标准:
对于 Sentinel来说,有效回复有以下三种:

  1. +PONG
  2. -LOADING
  3. -MASTERDOWN
    无效回复就是除了这三种之外的所有回复,或者没有在指定时间内回复也算无效回复

Sentinel是根据时间长度来判断是否下线的,也就是在一个时间段内如果一个服务器联系向Sentinel发送无效回复,那么当前的Sentinel就认为这个服务器已经下线,这就是主观下线
这个时间段是在配置文件sentinel.conf中配置好的:

如图,sentinel down-after-milliseconds 服务器名 毫秒数 就是说 在主服务器mymaster 连续30000ms 都向 这个Sentinel服务器返回无效回复的时候,Sentinel就会把主服务器mymaster标记为主观下线.
Sentinel将一个主服务器判断为主观下线之后,为了确认这个服务器是否真的下线了,它会向其他同样监视这个主服务器的Sentinel进行询问,看它们是否也认为主服务器已经进入下线判断。当Sentinel从其他Sentinel那里接收到足够数量的已下线判断之后,Sentinel就会将主服务器判定为客观下线,然后进行选举操作

然后对于足够数量的判断,这也是在配置文件 sentinel.conf中定义好的:

如图,最后的 2 就是表示包括当前的Sentinel在内,只要总共有两个Sentinel认为主服务器已经进入下线状态,那么就把主服务器设置为客观下线

Redis Sentinel判断主观下线和客观下线相关推荐

  1. Redis 6.2 sentinel判断主观下线和客观下线(源码)

    推荐渐进式解析 Redis 源码 - 哨兵 sentinel 上面有讲解的主观下线和客观下线 文章目录 前言 sentinelCheckSubjectivelyDown(主观下线) sentinelC ...

  2. redis三个定时监控任务和主观下线、客观下线

    一.三个定时监控任务 一套合理的监控机制是Sentinel节点判定节点不可达的重要保证,Redis Sentinel通过三个定时监控任务完成对各个节点发现和监控 每隔10秒 每隔10秒,每个Senti ...

  3. Sentinel(哨兵)检测主观下线、客观下线、选举领头Sentinel、实现故障转移

    文章目录 主观下线 客观下线 选举领头Sentinel 故障转移 修改从服务器的复制目标 主观下线 默认情况下,Sentinel哨兵会以每秒一次的频率向所有与它创建命令连接的实例(包括主服务器.从服务 ...

  4. 主观下线和客观下线的情况

    主观下线 每个 sentinel 节点对 redis 节点失败的"偏见": 客观下线 所有 sentinel 节点对 redis 节点失败"达成共识"(超过 q ...

  5. redisCluster之主观下线与客观下线

    主观下线:        节点之间会定期的执行ping/pong消息来证明节点之间的连通性,若节点一向节点二发送ping消息之后收到pong消息,那么节点一将会更新最后一次与节点二的通信时间,若没有收 ...

  6. 8-13 主观下线和客观下线

    一个sentinel集群可以监控多个master/slave节点,对多套master/slave节点进行区分. quorum法定人数.客观下线的时候,判断依据 sentinel down-after- ...

  7. Redis Sentinel 配置文件

    基础参考:https://www.cnblogs.com/wang-li/p/9955303.html 配置文件讲解 1.sentinel monitor # sentinel monitor < ...

  8. redis——sentinel

    什么是哨兵机制 Redis的哨兵(sentinel) 系统用于管理/多个 Redis 服务器,该系统执行以下三个任务: ·        监控: 哨兵(sentinel) 会不断地检查你的Master ...

  9. Redis Sentinel

    2019独角兽企业重金招聘Python工程师标准>>> Redis Sentinel Documentation Redis 的 Sentinel 系统用于管理多个 Redis 服务 ...

最新文章

  1. docker mysql详解_Docker轻松入门(详解)
  2. 别拿BI不当产品(下)BI的AI化
  3. 栈和队列之设计一个有getMin(得到最小值)功能的栈
  4. 信号与系统 chapter10 系统的初值问题与系数匹配法
  5. 【Net】测试网络、查看IP
  6. android 捕获Home键和ACTION_TIME_TICK广播
  7. #9 shell脚本的函数运用
  8. 截图软件 snipaste
  9. java编程基本基本框架_盘点Java编程中常用的框架
  10. 弘辽科技:如何快速提高淘宝店铺的综合评分
  11. GNU开发工具——GNU Binutils快速入门
  12. Spire.Office for .NET 7.4.10 is released
  13. 【网络基础】通俗易懂的搞明白什么是IP地址(小白向)
  14. python matplotlib画爱心
  15. 《游戏引擎架构》试读感想
  16. 埃拉托色尼筛法(素数筛)
  17. 上市公司竞争度衡量指标集1990-2020年(含数据处理过程)
  18. 法规标准-ECE R79标准解读
  19. JavaScript编程技术基础
  20. linux网络配置ifconfig

热门文章

  1. 每日一题(91) - 插入排序
  2. DockerScan:Docker安全分析测试工具
  3. php程序员述职材料_php程序员述职报告
  4. 高纯氟聚合物(PFA)树脂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  5. 学术前沿趋势分析(一)
  6. 完善发现、培养、激励机制 全面增强科技人才活力|方格教育
  7. python爬虫天气
  8. 欢Ubuntu 16.04有道词典安装
  9. 用贝塞尔曲线玩出来的花样简直不要太美
  10. 关于封装各英文解释 资料