可用性定义与度量

可用性(Availability) 是衡量系统在特定时间段内能够正常运行的概率,是分布式系统和互联网服务最核心的非功能性指标之一。通常用百分比表示,"4 个 9"(99.99%)意味着全年停机时间不超过 52.6 分钟。

可用性的量化定义

从数学角度,可用性可定义为:

可用性 = MTBF / (MTBF + MTTR)

其中:

  • MTBF(Mean Time Between Failures):平均故障间隔时间,即两次故障之间的平均正常运行时间
  • MTTR(Mean Time To Repair):平均修复时间,即从故障发生到服务恢复的平均时间

这个公式清晰地揭示了提升可用性的两条核心路径:延长 MTBF(减少故障发生频率)或缩短 MTTR(加快故障恢复速度)。

常见可用性等级

可用性等级年停机时间典型场景
99%3.65 天个人博客、内部系统
99.9%8.76 小时企业应用、电商平台
99.99%52.6 分钟金融支付、电信级服务
99.999%5.26 分钟核心银行、紧急服务

每提升一个数量级,背后的工程复杂度和技术投入往往呈指数级增长,这也是为什么"5 个 9"通常只出现在极少数关键系统中。

影响可用性的关键因素

系统可用性并非单一因素决定,而是硬件、软件、网络、人为操作等多维度的综合结果:

  • 硬件故障:服务器、存储、网络设备的物理损坏或老化
  • 软件缺陷:代码 Bug 导致的服务崩溃或死锁
  • 运维操作:发布变更、配置修改中的失误
  • 外部依赖:第三方服务、数据库、消息队列的不可用传导到上游系统
  • 容量瓶颈:流量突增导致的资源耗尽和级联崩溃

真正高可用的系统,必须在这些维度上都有针对性的防护措施,而不是寄希望于单一手段。