Skip to content

高可用与容错

高可用(High Availability, HA)是指系统在长时间内提供服务的能力,通常用可用性(如 99.9%)表示。容错(Fault Tolerance)是指系统在部分组件故障时继续提供服务的能力。

可用性指标

可用性等级

99.9%(8.76 小时/年)、99.99%(52.56 分钟/年)、99.999%(5.26 分钟/年)。

MTBF 和 MTTR

MTBF(平均故障间隔时间)、MTTR(平均修复时间)。

可用性 = MTBF / (MTBF + MTTR)。

冗余设计

服务冗余

部署多个服务实例,负载均衡器将请求分发到健康的服务实例。

数据冗余

主从复制、多主复制、数据一致性(强一致性、最终一致性)。

硬件冗余

磁盘 RAID、双电源、双网卡、双交换机。

故障检测

健康检查

Liveness(存活检查)、Readiness(就绪检查)。

健康检查方式:HTTP 端点、TCP 端口、命令。

故障判定

连续 N 次健康检查失败后,判定服务故障。

故障恢复

自动重启

服务崩溃时自动重启,退避策略避免重启循环。

故障转移

主节点故障时,从节点提升为主节点。

限流降级

服务过载时限流保护,依赖服务故障时降级。

熔断器

熔断器模式

关闭(Closed)、开启(Open)、半开(Half-Open)三种状态。

连续 N 次失败后,熔断器开启,直接返回失败。

超时与重试

超时

超时是等待响应的最长时间,应该根据 P99 延迟设置。

重试

重试策略:立即重试、固定延迟重试、指数退避重试。

只重试幂等操作。