三站点拓扑解决什么
三站点拓扑是在生产站点之外保留两个副本站点,用一套架构同时覆盖两类故障:单站点内的设备与卷故障,以及区域级灾难。常见形态是生产中心加同城灾备加异地灾备:生产中心与同城灾备之间距离近,使用同步复制保证接近零丢失;异地灾备与同城之间距离远,使用异步复制控制链路成本。另有变体是三站点彼此互为源端,链路关系最复杂,仲裁设计也最敏感。
基本信息
| 基本结构 | 生产站点加同城灾备加异地灾备 |
|---|---|
| 同城链路 | 同步复制,时延低,RPO 接近零 |
| 异地链路 | 异步复制,RPO 通常为分钟级或更大 |
| 异地复制源 | 多从同城灾备中继,而非直接从生产站点 |
| 仲裁设计 | 三站点失联组合多,需要明确仲裁点 |
| 主要收益 | 一套架构同时覆盖设备故障与区域灾难 |
典型使用场景
- 金融与电信核心系统,监管或内控要求两地三中心架构
- 大型企业关键业务,同城双活承载生产,异地站点兜底
- 演练编排:定义三站点之间的切换顺序与回切路径
- 成本优化:异地站点使用容量型存储承载,降低整体投入
- 数据分级:核心库三副本,非核心库只保留两副本
- 区域级事件应对:在同城两站点同时不可用时由异地独立承载
常见拓扑对照
| 拓扑 | 副本数 | 同城保护 | 异地保护 |
|---|---|---|---|
| 单站点 | 1 | 无 | 无 |
| 本地副本加异地副本 | 2 | 仅部分,仍共享机房风险 | 有 |
| 同城双活加异地异步 | 3 | 有 | 有 |
| 同城中继到异地 | 3 | 有 | 有,但依赖同城中继站点 |
| 三站点互为源端 | 3 | 有 | 有,链路与仲裁最复杂 |
异地站点通常从同城灾备站点异步接收数据,而不是直接从生产站点接收。这样做让异地链路只需要承担一份流量,也便于在同城同步链路异常时保持异地副本不受影响。代价是数据到异地要经过两跳,实际落后时间是同城时间差与异地落后时间之和。
三站点拓扑的链路数量与仲裁关系成倍增加。仲裁点选址不当会导致一次同城链路中断同时影响两个复制方向,出现两端都无法确认自身为主端的情况。设计阶段必须为每种失联组合明确降级规则:哪些站点继续提供写服务,哪些转为只读,异地何时可独立启用。
典型流向示意
典型流向示意
# 生产中心 A --同步--> 同城灾备 B RPO 接近零
# B --异步--> 异地灾备 C RPO 分钟级
# A --异步--> C(可选,独立链路,带宽与复杂度上升)
# 需明确:A 与 B 同时失联时,C 独立运行的条件与数据缺失范围
# 需明确:同城同步链路中断时,A 是否降级为异步继续服务