Availability 与 Reliability 又有何异同?

Sunday, February 9, 2020

上篇文章我们理清楚了Durability 和 Availability的含义, 但是我们也经常听说Reliability 这个词, 很多同学在Reliability 和Availability 之间又有点模模糊糊的, 粗一理解上去, Reliability 和 Availability 好像是一个意思啊? 那么接下来, 我们就来看看Availability 和 Reliability 有什么异同.

在上篇文章中, 我们知道了Availability 是指一个系统在一个时间段中, 有多长时间是可用的. 它的计算公式如下所示:

可用性 = (总运行时间 - 总宕机时间) / 总运行时间

我们可以想见, 在现实生活中, 仅仅是用可用性的指标去衡量一个IT 系统是远远不够的.

举个例子: 有一个系统每小时奔溃1ms, 那么这个系统的可用性是99.9999722%, 我们能说这个系统是靠谱的吗? 是可靠的吗? 当然是不能的!

这个时候我们就应该来看看可靠性(Reliability)的概念了.

Reliability

可靠性指的是系统在多变/不可预测的现实环境下能保持无故障持续运行的可能性. 这里的无故障和持续运行是理解的重点.

我们通常用平均故障间隔时间(Mean Time Between Failures)来衡量一个系统的可靠性:

MTBF = sum(故障发生的时间点 - 上次故障修护的时间点)/ 故障的总次数

回到上面的例子, 一个系统每小时宕机1ms, 那么这个系统的可用性是99.9999722%, 但是他的可靠性不高.

如果一个系统从来不崩溃, 但是每年要停机两周, 那它的可用性只有96% 但是他的可靠性却比上一个系统要高不少.

可用性(Availability) 主要衡量的是系统总宕机时间占总运行时间的比例,

而可靠性(Reliability)主要衡量的是系统宕机的频率.

想要提高可用性, 需要提高从故障中恢复的能力, 如果每次都能够尽可能快的从故障中恢复, 总的故障时间就不会太长,可用性也就相对应的高.

想要提高可靠性, 需要提高容错的能力, 尽可能的防止系统进入故障状态中, 系统能够更长久无故障的运行, 可靠性指标也相应升高.

如有理解偏差, 还望不吝斧正.

AWS SAP

一个AWS资源访问请求的历程(一)

Durability 和 Availability

comments powered by Disqus