MST

星途 面试题库

面试题:Redis Sentinel如何检测主观下线状态

请阐述Redis Sentinel检测主观下线状态的具体机制,包括触发条件、涉及的主要配置参数等。
23.4万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

触发条件

  1. 主观下线定义:当一个Redis实例与Sentinel之间的连接断开,或在一定时间内未响应Sentinel的PING命令时,Sentinel会将该实例标记为“主观下线”(Subjectively Down,简称SDOWN)。这意味着从单个Sentinel的视角来看,这个实例似乎已经不可用了。
  2. PING命令检测:Sentinel会定期向被监控的Redis实例发送PING命令。如果在规定的时间内(由配置参数 down-after-milliseconds 控制)没有收到实例的回复,Sentinel就会认为该实例主观下线。

主要配置参数

  1. down-after-milliseconds
    • 作用:这个参数用于指定Sentinel判断一个Redis实例主观下线的时间阈值,单位是毫秒。
    • 示例:在Sentinel的配置文件中,如 sentinel monitor mymaster 127.0.0.1 6379 2 这一行定义了要监控的主节点信息,紧接着可以配置 sentinel down-after-milliseconds mymaster 30000,表示如果30秒(30000毫秒)内Sentinel没有收到该主节点的有效回复,就将其标记为主观下线。

Sentinel检测主观下线状态主要基于PING命令的响应情况,通过 down-after-milliseconds 配置参数控制判断的时间阈值,单个Sentinel基于此机制对所监控的Redis实例进行可用性的初步判断。