健康检查机制的引入,有效提高了业务服务的可用性。但是,为了避免频繁的健康检查失败引起的切换对系统可用性的冲击,健康检查只有连续多次检查成功或失败后,才会进行状态切换。
以共享型负载均衡的健康检查为例,健康检查时间窗由以下三个因素决定:
健康检查时间窗由以下三个因素决定:
-
检查间隔:每隔多久进行一次健康检查。
-
超时时间:等待云主机返回健康检查的时间。
-
最大重试次数:健康检查连续成功的次数。
系统必须连续3次检查失败,才会判定后端云主机健康检查失败,与“最大重试次数”设置的数值无关。
健康检查时间窗的计算方法如下:
健康检查成功时间窗 = 超时时间×最大重试次数 + 检查间隔×(最大重试次数-1)
健康检查失败时间窗 = 超时时间×3 + 检查间隔×(3-1)
检查间隔:4s
超时时间:2s
健康检查检测到后端云主机从正常到失败状态,健康检查失败时间窗** **= 超时时间×3+检查间隔×(3-1) = 2 x 3+4 x (3-1) = 14s。