这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
容灾不是高可用的替代品
不同层级的故障
高可用解决单点故障,容灾解决区域级故障。两者是不同层级:
容灾层级
先明确要防到哪一层,否则成本会失控
| 层级 | 典型问题 | 影响范围 |
|---|---|---|
| 进程级 | 服务崩溃、内存泄漏 | 单个进程 |
| 机器级 | 单台服务器故障 | 单台主机 |
| 集群级 | 数据库主节点故障 | 一组集群 |
| 机房级 | 机房断网、供电故障 | 整个机房 |
| 地域级 | 城市级网络或云厂商区域故障 | 整个区域 |
关键认知:
高可用解决单点故障,容灾解决区域级故障。
两者是不同层级,容灾设计要先明确要防到哪一层。
容灾设计要先明确边界
容灾设计要先明确要防到哪一层:
- 只防进程级故障 → 服务重启 / 自动拉起即可。
- 防机器级 → 主备节点 + 健康检查。
- 防机房级 → 多机房 + 数据同步 + 切换。
- 防地域级 → 异地多活,成本极高。
不明确层级,成本会失控。
课程主线
我们先定义容灾目标,再选择多机房架构;随后处理最难的数据同步和一致性;再设计故障转移和回切流程;最后通过容灾演练验证系统真的可用。
业务分级 -> RTO/RPO -> 多机房架构 -> 数据同步
-> 健康检查 -> 故障切换 -> 数据校验 -> 回切与复盘
成熟的容灾系统能回答
- 故障怎么发现?
- 谁来决策?
- 怎么切流?
- 数据如何保证?
- 服务如何降级?
- 恢复后如何复盘?
一句话
容灾是比高可用更高的层级:高可用防单点,容灾防区域级故障。先明确要防到哪一层,再沿「目标 → 架构 → 数据 → 切换 → 演练」的主线设计。
发现内容有问题?
告诉我们哪里需要改进。
