可用性定义与度量
可用性(Availability) 是衡量系统在特定时间段内能够正常运行的概率,是分布式系统和互联网服务最核心的非功能性指标之一。通常用百分比表示,"4 个 9"(99.99%)意味着全年停机时间不超过 52.6 分钟。
可用性的量化定义
从数学角度,可用性可定义为:
其中:
- MTBF(Mean Time Between Failures):平均故障间隔时间,即两次故障之间的平均正常运行时间
- MTTR(Mean Time To Repair):平均修复时间,即从故障发生到服务恢复的平均时间
这个公式清晰地揭示了提升可用性的两条核心路径:延长 MTBF(减少故障发生频率)或缩短 MTTR(加快故障恢复速度)。
常见可用性等级
每提升一个数量级,背后的工程复杂度和技术投入往往呈指数级增长,这也是为什么"5 个 9"通常只出现在极少数关键系统中。
影响可用性的关键因素
系统可用性并非单一因素决定,而是硬件、软件、网络、人为操作等多维度的综合结果:
- 硬件故障:服务器、存储、网络设备的物理损坏或老化
- 软件缺陷:代码 Bug 导致的服务崩溃或死锁
- 运维操作:发布变更、配置修改中的失误
- 外部依赖:第三方服务、数据库、消息队列的不可用传导到上游系统
- 容量瓶颈:流量突增导致的资源耗尽和级联崩溃
真正高可用的系统,必须在这些维度上都有针对性的防护措施,而不是寄希望于单一手段。