标准答案

  1. 单活只在一个主要区域提供写服务,架构和一致性最简单,但需要可靠备份和灾难切换方案。
  2. 主备让备用环境保持可接管状态,重点是复制延迟、切换流程和备端容量是否足够。
  3. 双活通常让两个区域同时承载部分流量,需要明确哪些数据可双写、哪些必须单主,以及故障切换规则。
  4. 多活把写入分布到多个区域,必须设计冲突解决、数据驻留、全局身份、观测和更复杂的演练机制。

题目解析

活跃区域越多,故障域越少,但数据一致性和人力成本越高。不是所有业务都需要多活,关键是把不可接受的故障和可接受的延迟说清楚。

真正的难点不是把服务部署到多个区域,而是网络分区、重复请求、跨区延迟和恢复后数据冲突如何处理。

常见误区

  • 把跨区域副本称为双活,却只有一个区域能写。
  • 设计多活前没有解决数据冲突和全局唯一性。
  • 只演练单区域宕机,不演练网络分区和部分依赖不可用。

作者信息