多活架构是大型架构核心,下面我详解多活架构@mikechen
多活架构
多活架构:作为一种跨地域容灾策略,通过在多个地理位置同时部署、并运行服务实例。
随着业务高可用与连续性要求的提升,多活(active-active)架构,成为大型互联网与企业系统的主流实践。

可以,极大的提升可用性、容错性与性能。
总之,多活架构的本质,是让“容灾系统在灾难发生前就已经在干活”。
它不是冷备、不是热备,而是跨地域同时对外提供服务。
多活架构方案
常见的实现模式是“同城双活 + 异地灾备”的两地三中心方案,兼顾低时延、故障隔离与灾备能力。
“两地三中心”,通常指在同一城市内,部署两套主数据中心(同城双活),并在异地部署第三个灾备中心。

整体架构,如下所示:
┌──── DNS / GSLB ────┐
│ │
同城 A 同城 B
(活) (活)
│ │
LB / 网关 LB / 网关
│ │
应用集群 应用集群
│ │
缓存集群 缓存集群
│ │
数据库主 数据库备
└── 同城同步 ──┘
│
异地灾备库
两套同城数据中心,同时对外提供服务并进行同步,承担日常负载。
异地中心作为冷/温/热备,根据业务需求承担灾难恢复职责。
比如:
同城双中心(A中心和B中心):位于同一城市(距离≤200km)。
两个中心同时活跃,共同处理业务流量,实现“双活”,数据实时同步,确保零丢失。
同城双活的目标:应对单机房断电、机房网络故障、中间件/数据库集群故障。
做到城市内任何一个中心挂了,业务都不受大影响。
异地灾备中心(C中心):位于另一城市(距离>200km)。
主要用于数据备份,平时不处理生产流量,仅在同城整体故障时接管。
异地灾备的目标:应对地震、城市级断电。
以及,长时间通信中断等大规模灾害,保证核心数据不在同一城市“全军覆没”。
mikechen睿哥
10年+一线大厂架构实战专家,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。