MST

星途 面试题库

面试题:Redis Sentinel 如何获取主服务器的基本信息

在 Redis Sentinel 机制中,简述 Sentinel 获取主服务器信息的主要流程,包括使用到的命令和通信过程。
30.6万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试
  1. 初始连接
    • Sentinel 启动后,会通过 SENTINEL MONITOR 命令来配置对主服务器的监控。例如:SENTINEL MONITOR <master_name> <ip> <port> <quorum>。这个命令告诉 Sentinel 要监控的主服务器的名称、IP 地址、端口号以及判断主服务器下线需要的 Sentinel 数量。
  2. 获取主服务器信息
    • Sentinel 与主服务器建立连接,使用 INFO 命令获取主服务器的基本信息,如运行 ID(run_id)等。INFO 命令会返回主服务器的详细运行状态信息,其中运行 ID 用于 Sentinel 识别主服务器的唯一性。
  3. 与其他 Sentinel 通信
    • Sentinel 之间通过互相发送 PING 命令来确认彼此的存活状态。
    • 同时,Sentinel 之间会交换主服务器信息,使用 SENTINEL is - master - down - by - addr 命令,该命令用于通知其他 Sentinel 关于主服务器是否下线的判断。
  4. 监控主服务器状态
    • Sentinel 定期向主服务器发送 PING 命令,以此来监控主服务器的健康状态。如果在一定时间内没有收到主服务器对 PING 命令的回复,Sentinel 会标记主服务器为疑似下线(Subjectively Down,SDOWN)。
    • 当标记主服务器为 SDOWN 的 Sentinel 数量达到 quorum(配置 SENTINEL MONITOR 时设置的值)时,Sentinel 会进行客观下线(Objectively Down,ODOWN)判断,即认为主服务器确实下线,并开始进行故障转移流程。