两地三中心是什么
同城两个中心之间距离近、链路好,可以做同步复制并互为热备;异地第三个中心用异步复制承担城市级灾害兜底。这样一套布局能同时覆盖机房级故障与区域级灾难,是金融等行业较为常见的容灾形态。它的难点不在建设,而在于把角色、切换顺序与数据流向写得足够清楚。
角色分工
| 中心 | 位置 | 复制关系 | 承担的场景 |
|---|---|---|---|
| 生产中心 | 城市 A | 写主库 | 正常运行 |
| 同城灾备中心 | 城市 A | 与生产同步复制 | 机房级故障快速接管 |
| 异地灾备中心 | 城市 B | 从同城灾备异步复制 | 城市级灾害兜底 |
基本信息
| 同步复制 | 同城链路延迟低,可要求写入确认,接近零丢失 |
|---|---|
| 异步复制 | 异地链路延迟高,接受秒级到分钟级的延迟与丢失 |
| 仲裁要求 | 需要明确的仲裁与主角色判定规则 |
| 演练要求 | 同城切换与异地启用都要定期演练 |
复制链数据流向
复制链数据流向
生产中心 --同步复制--> 同城灾备中心 --异步复制--> 异地灾备中心
# 故障切换顺序:同城先接管;城市级事件才启用异地
# 回切时按相反顺序恢复复制关系故障场景与启用顺序
| 场景 | 首先启用 | 注意 |
|---|---|---|
| 单机或单服务故障 | 本地高可用 | 不触发中心级切换 |
| 生产机房整体不可用 | 同城灾备中心 | 确认生产侧已隔离,避免双写 |
| 城市级灾害 | 异地灾备中心 | 接受较大的数据丢失窗口 |
| 同城灾备中心故障 | 生产中心继续服务 | 异地链路改为从生产复制 |
落地要点
- 三个中心都想当主:必须提前约定仲裁与切换纪律,避免故障时互相抢主
- 数据流向要单向清晰:反向复制通常只在回切后重建,日常不设双向链路
- 异地中心要有验证机制:长期不校验会发现链路早已中断而数据停更
- 切换顺序写进手册:谁先接管、何时启用异地,要有明确触发条件
- 演练覆盖三类场景:机房故障、城市灾害与中心之间的切换回切
三中心不是简单叠加:仲裁、切换顺序、数据流向要写清楚,避免故障时多个中心互相争抢主角色。