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 延迟设置。

重试 ​

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

只重试幂等操作。