① 公式
通过如下公式衡量系统稳定性:Availability = MTTF / (MTTF + MTTR) ②公式说明
MTTF (Mean Time To Failure,平均无故障时间),指系统无故障运行的平均时间,取所有从系统开始正
常运行到发生故障之间的时间段的平均值,即: MTTF =ΣT1/ N。
MTTR (Mean Time To Repair,平均修复时间),指系统从发生故障到维修结束之间的时间段的平均值,即:
MTTR =Σ(T2+T3)/ N。
③公式量化
通常是“SLA是几个9”去衡量,对应下表:
④常见问题
问题:SLA应该按照哪个维度去定义?接口、应用、业务?
答:都可以,只要讲清楚是接口SLA,还是应用SLA,还是业务SLA就可以。但注意:提到应用SLA,应该等于核心接口的最差SLA;提到业务SLA应该等于黄金链路的最差SLA。
问题:SLA时间计算周期应该多少?
答:都可以,主要讲清楚计算周期就可以,一般以年为单位更具代表性。
4、常见误区
①不要认为“分布式环境是稳定的”
认为:网络是可靠的,带宽是无限的,网络的拓扑不会变,延时为0,传输开销为0
实际:网络会抖动,带宽有上限,存在down机导致的拓扑变化,存在响应超时的概率,等等。
②不要有“确定性思维”,要有“不确定思维”
认为:遵守经验法则,if x then y。举例:我见过天鹅是白色的,所以世界上所有天鹅都是白色的;这个系统一直运行良好,所以未来也不会有问题。
应该:世界是不确定的,if x then maybe y。举例:天鹅还有黑色的。
③不要“甩锅”,要有“主人翁精神”
认为:故障是因为他们系统挂了,我们只需要打电话通知一下,慢慢等着恢复就行。
应该:提前思考依赖系统故障了,我们如何让我们用户尽可能的正常运行;故障出现了,共同想办法解决问题。
二、业界现状