容灾不是高可用的替代品

不同层级的故障

高可用解决单点故障,容灾解决区域级故障。两者是不同层级:

容灾层级

先明确要防到哪一层,否则成本会失控

层级典型问题影响范围
进程级服务崩溃、内存泄漏单个进程
机器级单台服务器故障单台主机
集群级数据库主节点故障一组集群
机房级机房断网、供电故障整个机房
地域级城市级网络或云厂商区域故障整个区域
关键认知: 高可用解决单点故障,容灾解决区域级故障。 两者是不同层级,容灾设计要先明确要防到哪一层。

容灾设计要先明确边界

容灾设计要先明确要防到哪一层:

  • 只防进程级故障 → 服务重启 / 自动拉起即可。
  • 防机器级 → 主备节点 + 健康检查。
  • 防机房级 → 多机房 + 数据同步 + 切换。
  • 防地域级 → 异地多活,成本极高。

不明确层级,成本会失控。

课程主线

我们先定义容灾目标,再选择多机房架构;随后处理最难的数据同步和一致性;再设计故障转移和回切流程;最后通过容灾演练验证系统真的可用。

业务分级 -> RTO/RPO -> 多机房架构 -> 数据同步
       -> 健康检查 -> 故障切换 -> 数据校验 -> 回切与复盘

成熟的容灾系统能回答

  • 故障怎么发现?
  • 谁来决策?
  • 怎么切流?
  • 数据如何保证?
  • 服务如何降级?
  • 恢复后如何复盘?

一句话

容灾是比高可用更高的层级:高可用防单点,容灾防区域级故障。先明确要防到哪一层,再沿「目标 → 架构 → 数据 → 切换 → 演练」的主线设计。

发现内容有问题?

告诉我们哪里需要改进。