MST

星途 面试题库

面试题:Redis Sentinel 如何检测主观下线状态及预警机制基础

请简述 Redis Sentinel 检测主观下线状态的流程,以及当检测到主观下线状态时,它默认的预警机制是怎样的?
48.2万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

Redis Sentinel 检测主观下线状态的流程

  1. 定期发送PING命令:Sentinel节点会定期向被监控的Redis主节点和从节点发送PING命令,以此来检查节点的健康状况。
  2. 判断节点响应:若在规定时间(down-after-milliseconds配置项指定的时长,单位为毫秒)内没有收到节点的有效回复(PONG响应),Sentinel节点就会将该节点标记为主观下线(Subjectively Down,简称SDOWN)。主观下线是单个Sentinel节点对某个节点做出的下线判断。

检测到主观下线状态时默认的预警机制

  1. 发布订阅通知:当一个Sentinel节点将某个Redis节点标记为主观下线后,它会通过发布订阅机制,向其他Sentinel节点发送关于该节点主观下线的消息。其他Sentinel节点在接收到这个消息后,会在本地记录该节点的主观下线状态。
  2. 客观下线判断基础:主观下线状态的信息传播是后续判断客观下线(Objectively Down,简称ODOWN)的基础。当判断一个主节点客观下线时,需要多个Sentinel节点都认为该主节点主观下线,并且达到一定的数量(quorum配置项指定的Sentinel节点数量),才会将该主节点标记为客观下线,进而触发故障转移流程。但主观下线阶段本身并没有直接的、类似邮件、短信这种对外的预警机制,主要是在Sentinel集群内部进行状态传播和后续处理流程的触发。