← 中文资源

简体中文版本

执行多区域故障切换演练

模拟主区域丢失,切换流量到备用区域,验证数据新鲜度与写入,再安全切回且不留下脑裂风险。

阅读英文原文

区域切换是系统演练

切流量只是简单部分。应用必须连接提升后的数据库,缓存可达,密钥在备用区域存在,后台 worker 恢复,DNS TTL 不会把客户端留在故障区域。演练检验整条路径,而不只是负载均衡开关。

基线: 主区域 eu-west-1,副本延迟 200 ms,4k rps
故障: 10:00:00 从全局端点移除 eu-west-1
提升: 10:02:10 数据库可读写
流量: 10:04:00 95% 到 us-east-1
写入检查: order-7781 提交并可读回
切回: eu-west-1 追上后,10:35:00 恢复流量

测量 RTO 与 RPO

恢复时间目标是服务可用的总耗时,不只是数据库提升完成。分别测量检测、决策、提升、流量切换和应用验证。恢复点目标是数据丢失窗口:比较主区域最后提交与副本最后复制。只报告“切换成功”会隐藏这两个数字。

防止脑裂

不要让两个区域同时接受同一份数据的写入。提升必须配合旧主库栅栏,或数据层使用法定人数。演练后、恢复复制前检查是否存在分叉写入。快速但产生两段历史的切换,比更慢但干净的切换更糟。

有意切回

切回是另一次迁移。重建旧区域、恢复复制、验证延迟、切换少量流量,再完成迁移。保持回滚窗口并监控只在旧拓扑出现的问题。把实测时间和每个手工步骤写入运行手册。