面试题答案
一键面试1. down-after-milliseconds
参数
- 调整方式:适当增大该参数的值。
- 原理:该参数定义了 Sentinel 认定一个主服务器或从服务器处于主观下线(SDOWN)状态所需的毫秒数。增大此值意味着 Sentinel 会等待更长时间,在这段时间内如果持续检测到服务器无响应,才判定为下线。这样可以避免因短暂的网络波动或服务器瞬间繁忙而导致的误判。
- 可能带来的影响:如果设置过大,当服务器确实下线时,Sentinel 察觉到的延迟会增加,从而延长故障转移的时间,可能会导致客户端长时间无法正常访问服务。
2. ping-sent
和 ping-reply
参数
- 调整方式:合理设置
ping-sent
(Sentinel 向被监控实例发送 PING 命令的频率),以及确保ping-reply
(实例对 PING 命令的响应时间)在合理范围内。 - 原理:Sentinel 通过定期发送 PING 命令来检测实例状态。合理的
ping-sent
频率设置可以避免过于频繁或稀疏的检测。如果ping-sent
频率过高,可能会加重实例负担,而频率过低可能无法及时发现问题。同时,实例对 PING 命令的响应时间ping-reply
也很关键,若ping-reply
过长,可能被误判为下线,通过优化网络或服务器性能,确保ping-reply
在可接受范围。 - 可能带来的影响:
ping-sent
设置过高加重实例负担,可能影响实例正常业务处理;设置过低可能导致检测不及时。而ping-reply
时间主要受网络和实例性能影响,若因不合理设置导致误判,可能影响 Sentinel 对实例状态的正确判断。
3. parallel-syncs
参数
- 调整方式:在一定范围内适当降低该参数的值。
- 原理:该参数决定了在进行故障转移时,同时与新主服务器进行同步的从服务器数量。降低此值可以减少从服务器同步时对网络和服务器资源的竞争,避免因资源竞争导致部分从服务器出现短暂无响应而被误判为下线。
- 可能带来的影响:降低该值会延长故障转移过程中从服务器全部完成同步的时间,可能会使整个集群在一段时间内处于部分节点数据不一致的状态,影响数据的完整性和一致性。