可用性是指系统在特定时间段内保持运行以执行其所需功能的时间。它是系统、服务或机器在正常条件下保持运行的时间百分比的简单度量。
可用性中的9
可用性通常通过正常运行时间(或停机时间)作为服务可用时间的百分比进行量化。它通常以9的数量进行度量。
如果可用性为99.00%,则称可用性为“2个9”,如果可用性是99.9%,则称之为“3个9”,依此类推。
| 可用性 (百分比) | 停机时间 (年) | 停机时间 (月) | 停机时间 (周) |
|---|---|---|---|
| 90% (1个9) | 36.53天 | 72小时 | 16.8小时 |
| 99% (2个9) | 3.65天 | 7.20小时 | 1.68小时 |
| 99.9% (3个9) | 8.77小时 | 43.8分钟 | 10.1分钟 |
| 99.99% (4个9) | 52.6分钟 | 4.32分钟 | 1.01分钟 |
| 99.999% (5个9) | 5.25分钟 | 25.9秒 | 6.05秒 |
| 99.9999% (6个9) | 31.56秒 | 2.59秒 | 604.8毫秒 |
| 99.99999% (7个9) | 3.15秒 | 263毫秒 | 60.5毫秒 |
| 99.999999% (8个9) | 315.6毫秒 | 26.3毫秒 | 6毫秒 |
| 99.9999999% (9个9) | 31.6毫秒 | 2.6毫秒 | 0.6毫秒 |
顺序可用性与并行可用性
如果一个服务由多个易于发生故障的组件组成,那么该服务的整体可用性取决于这些组件是顺序的还是并行的。
顺序
当两个组件顺序运行时,总体可用性降低。
例如,如果 Foo 和 Bar 都有 99.9% 的可用性,则它们的总可用性依次为 99.8%。
并行
当两个组件并行时,总体可用性提高。
例如,如果 Foo 和 Bar 都有 99.9% 的可用性,那么它们并行的总可用性将是 99.9999%。
可用性与可靠性
如果一个系统是可靠的,它也是可用的。然而,如果可用,则不一定可靠。换句话说,高可靠性有助于提高可用性,但即使系统不可靠,也有可能实现高可用性。
高可用性与容错性
高可用性和容错性都适用于提高运行时间级别的方法。然而,它们实现目标的方式不同。
容错系统没有服务中断,但成本明显更高,而高可用系统的服务中断最小。容错要求完全的硬件冗余,就像主系统发生故障时,另一个系统应该接管,使运行时间不受到损失。