MST

星途 面试题库

面试题:Redis故障转移自动化决策机制中的主观下线和客观下线是怎么回事?

解释Redis故障转移自动化决策机制里主观下线和客观下线的概念、触发条件以及它们在整个故障转移过程中的作用。
25.1万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

主观下线(Subjective Down,SDOWN)

  • 概念:单个Redis Sentinel节点对某个Redis实例做出的下线判断。这只是一个Sentinel节点的“主观”看法,不一定代表该实例真的不可用。
  • 触发条件:当Sentinel节点在配置的 down-after-milliseconds 时间内,无法成功连接某个Redis实例并与之通信,就会将该实例标记为主观下线。
  • 作用:主观下线是故障检测的第一步,它是快速初步判断某个Redis实例可能出现问题的依据。一旦某个实例被某个Sentinel标记为主观下线,这个Sentinel会向其他Sentinel节点发送 SENTINEL is-master-down-by-addr 命令,询问它们对该实例的状态判断,以此来进一步确定是否客观下线。

客观下线(Objective Down,ODOWN)

  • 概念:多个Redis Sentinel节点都认为某个Redis实例下线,达成共识后将该实例标记为客观下线。这意味着该实例在整个Redis Sentinel系统中被认为确实不可用了。
  • 触发条件:当认为某个Redis实例主观下线的Sentinel节点数量,达到配置的 quorum 个数时,这些Sentinel节点会达成共识,将该实例标记为客观下线。例如,若 quorum 设置为2,那么至少需要2个Sentinel节点都认为某个实例主观下线,才会将其标记为客观下线。
  • 作用:客观下线是故障转移的重要前提。只有实例被标记为客观下线后,Sentinel系统才会开始进行故障转移操作,选举新的主节点,并让从节点去复制新的主节点,以保证Redis服务的高可用性。