为何需要跨城市多节点高可用
单一数据中心或单节点部署难以应对区域性故障(如电力中断、网络中断、自然灾害)。跨城市多节点架构通过地理冗余,确保当主站点不可用时,业务可自动切换至备用节点,将RTO(恢复时间目标)和RPO(恢复点目标)降至分钟级甚至秒级。该配置广泛应用于金融、电商、SaaS等对连续性要求严格的行业。
核心架构与关键组件
多活/主备模式选择
根据业务容忍度可选择:
- 主备模式(Active-Passive):主节点承载全部流量,备节点实时同步数据但不对外服务,故障时手动或自动切换。成本较低,但存在切换延迟。
- 多活模式(Active-Active):多节点同时提供服务,通过全局负载均衡分发流量,需解决数据冲突(如跨城数据库同步)。成本高但对用户无感切换。
全局流量调度
使用DNS智能解析(如GSLB)或Anycast技术,根据用户地理位置、节点健康状态动态分配请求。关键配置:
- 健康检查周期(建议10秒一次,超时判断3次失败即切换)
- 权重分配(主节点权重高于备节点,但需预留切换后峰值容量)
- 会话保持(通过Cookie或来源IP,避免切换后用户状态丢失)
数据层同步与一致性
跨城网络延迟通常>10ms,需选择合适同步策略:
- 异步复制:主库写入后立即返回,后台异步同步至备库。性能高但故障时可能丢失少量数据(RPO秒级)。适用于接受最终一致性的场景。
- 半同步/同步复制:等待至少一个备库确认后返回。RPO接近零,但写入性能受限于跨城延迟。需评估业务写密集型压力。
- 分布式数据库:如TiDB、OceanBase原生支持多机房部署,通过Raft协议自动选举主副本,需注意城市间距应满足多数副本跨Az。
关键技术配置实践
网络层冗余
至少租用两条不同物理路径的光纤(如电信+联通)连接各节点,启用BGP多线接入。使用OSPF/静态路由配合VRRP实现三层切换,RTT需