分布式系统高可用全解析:从概念指标到战术方法,一文掌握!

📅 2026/7/21 20:48:08
分布式系统高可用全解析:从概念指标到战术方法,一文掌握!
可用性与可用率可用性被定义为“系统或组件在需要使用时可操作和可访问的程度”[IEEE610]衡量可用性的指标是可用率计算公式为总运行时长 - 业务中断时长/ 总运行时长 * 100%。常用的可用率中高可用通常指 3 个 9关键系统如金融和电信通常要求可用率为 5 个 9。可用性与可靠性在架构中与可用性类似的概念还有可靠性本书不做区分因为这两个概念都有上述衡量指标和实现高可用高可靠的对应战术方法。区别在于高可用更强调系统可用时长而可靠性更强调故障率。硬件与软件高可用在互联网和物联网广泛使用之前系统的高可用目标主要针对硬件如服务器、磁盘、网络高可用实现方式主要采用备份。软件系统借鉴了自动检测和故障隔离但软件不会随使用时长、频率增加导致可用性降低导致软件无法达成高可用的原因有系统外部和内部的。实现软件高可用比硬件复杂得多。分布式系统高可用未实现的原因包括软件工程缺少对高可用的关注、流量变化、外部干扰、技术团队过于乐观、系统实现过于复杂等。高可用战术方法思维导图总结了一系列高可用战术方法。分布式系统通常分为无状态服务和有状态服务无状态服务高可用战术更为简单还列出了高可用架构的三种架构风格。高可用设计通用原则包括负载均衡、备份、热部署、万一原则、KISS 原则、可靠基础设施等。无状态与有状态服务高可用分布式系统里节点服务包含业务处理和数据两部分据此分为无状态和有状态节点。有状态服务高可用难度大无状态服务高可用设计有端到端原则、服务发现等多种战术。系统高可用验证在分布系统中验证系统高可用需模拟极端情况称为捣乱。以模拟 CPU 使用率为例介绍了方法关于如何捣乱参考本书第三章。参考书籍本节内容参考了《Handbookof Reliability Engineering》等多本书籍。