多活架构介绍

MSHA提供三种容灾架构解决方案,包括同城多活、异地双活以及异地应用双活。本文介绍各解决方案的架构特点,并对比各解决方案的建设成本、容灾能力和适用场景。

架构特点

同城多活

  • 同城机房间的物理距离通常≤50 km,跨机房的网络延迟较小(RT≤2 ms)。

  • 应用跨机房冗余部署,同时对外提供服务。

  • 中间件、数据库跨机房主备部署,数据单点写避免考虑数据一致性问题。

image

异地双活

  • 两个数据中心间的距离没有限制。

  • 应用、中间件、数据库多地域冗余部署,同时对外提供服务。

  • 业务流量带标,按路由规则分流,流量在数据中心(RPC、MQ、DB)内闭环。

  • 多个数据中心数据异步复制。

image

异地应用双活

  • 两个数据中心的物理距离通常≤100 km,存在跨地域的网络延迟(RT≤7 ms)。

  • 应用、中间件、数据库两地冗余部署,同时对外提供服务。

  • 数据库两地冗余部署,两地应用单点写数据库,避免考虑数据一致性问题,数据异步复制。

image

容灾架构对比

同城多活

异地双活

异地应用双活

拓展成本

  • 开通新可用区

  • 应用冗余部署

  • 云产品、中间件升级到跨可用区主备、集群版本(例如RDS、Redis等)

  • 开通新地域

  • 应用、中间件、数据库冗余部署

  • 中间件、数据库数据双向同步

  • 开通新地域

  • 应用、中间件、数据库冗余部署

  • 数据库数据单向或双向同步

容灾能力

RPO

地域级故障不可控;机房级故障为秒~分钟级。

分钟级

分钟级

RTO

地域级故障不可控;机房级故障为分钟~十分钟级。

分钟~十分钟级

说明

具体以数据同步延迟的情况为准。

分钟~十分钟级

说明

具体以数据同步延迟的情况为准。

适用场景

  • 预算有限,不考虑异地容灾。

  • 期望建设周期短(≤4周)。

  • 期望业务代码零改造。

  • 不考虑数据一致性复杂度。

  • 预算充足,选择异地建立多活的数据中心。

  • 接受长建设周期(3~6个月)。

  • 能够选取合适的维度路由流量,做好数据分片。

  • 接受业务流量带标改造,业务代码带标、中间件升级改造。

  • 接受数据一致性的复杂度。

  • 选择异地建立数据中心进行容灾。

  • 期望备中心资源不闲置,流量双活。

  • 接受跨地域网络延迟。

  • 期望业务代码零改造或少改造。

  • 不考虑数据一致性复杂度。

说明

相比异地多活,此方案无需流量带标和路由纠错。

限制

-

-

业务需要能接受跨地域网络延迟。

总结

  • 建设性价比高,适用面广。

  • 推荐企业首先建设同城双活,后续再演进到异地容灾架构。

  • 建设成本略高,但容灾能力最强。

  • 推荐企业选取核心业务来建设。

  • 建设成本中等,具备地域级容灾能力。

  • 推荐企业选取核心业务来建设。