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