如何“估算”RS被踢除的时间?
需要先明确几个概念。
“盲眼时间”,在这一段时间里,RS的健康状况是未知的。
这个时间的大小与健康检查的“间隔”有关。
在一个间隔内的时间点上,RS的健康状态是未知的。
“间隔”,多长时间发生一次健康检查。
“timeout”,健康检查的“超时”时间。
“健康检查时间”,健康检查所花费的时间。需要注意,并不是每次检查,都会timeout,大多数情况下,这个时间极短,毫秒级的,与“间隔”时间相比可以忽略。
健康检查时间,大于0,小于等于timeout时间。
“重试次数”,连续失败“重试次数”后,触发“删除RS”动作。
b表示“盲眼时间”
i表示“间隔时间”
t表示“timeout”
h表示“健康检查花费时间”
r表示“重试次数”
那么:从RS故障,到RS被删除,需要的时间为:
b + i*(r -1 ) + h
其中
0 < b < i
0 < h < t
所以,最大值为:
i+i*(r-1)+t = r*i+t
最小值为:
0+i*(r-1)+0 = i*(r-1)
转载请注明:爱开源 » Keepalived的健康检查机制