亿级多活架构:跨地域容灾是怎么实现的?

多活架构是大型架构核心,下面我详解多活架构@mikechen

多活架构

多活架构:作为一种跨地域容灾策略,通过在多个地理位置同时部署、并运行服务实例。

随着业务高可用与连续性要求的提升,多活(active-active)架构,成为大型互联网与企业系统的主流实践。

亿级多活架构:跨地域容灾是怎么实现的?-mikechen

可以,极大的提升可用性、容错性与性能。

总之,多活架构的本质,是让“容灾系统在灾难发生前就已经在干活”。

它不是冷备、不是热备,而是跨地域同时对外提供服务。

 

多活架构方案

常见的实现模式是“同城双活 + 异地灾备”的两地三中心方案,兼顾低时延、故障隔离与灾备能力。

“两地三中心”,通常指在同一城市内,部署两套主数据中心(同城双活),并在异地部署第三个灾备中心。

亿级多活架构:跨地域容灾是怎么实现的?-mikechen

整体架构,如下所示:

      ┌──── DNS / GSLB ────┐
      │                    │
 同城 A                同城 B
(活)                  (活)
      │                    │
  LB / 网关            LB / 网关
      │                    │
  应用集群            应用集群
      │                    │
  缓存集群            缓存集群
      │                    │
  数据库主          数据库备
        └── 同城同步 ──┘
                │
           异地灾备库

两套同城数据中心,同时对外提供服务并进行同步,承担日常负载。

异地中心作为冷/温/热备,根据业务需求承担灾难恢复职责。

比如:

同城双中心(A中心和B中心):位于同一城市(距离≤200km)。

两个中心同时活跃,共同处理业务流量,实现“双活”,数据实时同步,确保零丢失。

同城双活的目标:应对单机房断电、机房网络故障、中间件/数据库集群故障。

做到城市内任何一个中心挂了,业务都不受大影响。

异地灾备中心(C中心):位于另一城市(距离>200km)。

主要用于数据备份,平时不处理生产流量,仅在同城整体故障时接管。

异地灾备的目标:应对地震、城市级断电。

以及,长时间通信中断等大规模灾害,保证核心数据不在同一城市“全军覆没”。

mikechen睿哥

10年+一线大厂架构实战专家,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。

评论交流
    说说你的看法