更新时间:2024-07-16 GMT+08:00
分享

双Region方案

采用双Region时,前端以ECS为例,建议方案如下:

类别

实施方案

冗余

ELB、ECS、DCS、Kafka、RDS、DDS等云服务实例均高可用部署。

备份

RDS、DDS数据库自动备份,在数据故障时使用最新备份数据恢复,可以满足可用性目标要求。

容灾

应用跨AZ部署,AZ故障时自动恢复;支持跨Region主备容灾,在出现Region级故障时可以快速在异地恢复业务。

监控告警

支持业务运行状况、成功指标的检查,在发生故障时告警;支持ECS、DCS、Kafka、RDS、DDS等实例负载状态及资源故障切换等的监控,在负载超过阈值或状态异常时告警。

弹性扩缩容

支持自动弹性伸缩;针对ECS,通过ELB实现ECS实例的故障检测与负载均衡,并可通过AS监控负载随时添加和移除ECS实例来扩展应用系统的服务能力;针对RDS for MySQL,可根据负载监控情况,自动扩缩规格或增删只读节点。

变更防差错

软件更新采用金丝雀或蓝绿部署,部署过程自动完成,在部署过程中出现问题时自动回滚。

应急恢复处理

制定应急处理机制,指定应急恢复人员,以便在突发事件后能快速决策和恢复;并提供常见应用、数据库问题以及升级部署失败的相关解决方案,以便在出现问题后可以及时恢复;定期进行演练,及时发现问题。

根据以上方案,典型部署架构如下:

该架构的主要特点包括:

  • 应用系统采用无状态应用+有状态数据库/虚拟机的分层部署架构。
  • 应用系统在主备Region各部署一套完整系统,主备Region间数据同步;Region内跨AZ高可用部署,提供同城跨数据中心双活能力;Region间数据支持数据异步实时同步,采用主备容灾,在一个Region故障的情况下能快速将业务恢复到另一个Region。
    • 接入层(外部DNS、API网关):通过外部DNS进行域名解析,在一个Region故障时手工将业务流量切换到另一个Region。
    • 应用层(负载均衡器、应用软件及虚拟机):对于无状态应用,通过ELB负载均衡器进行故障检测与负载均衡,并通过AS弹性伸缩服务监控负载进行弹性伸缩;对于有状态应用,通过SDRS服务实现跨云的虚拟机数据复制与容灾切换,并可通过CBR服务进行自动数据备份。
    • 中间件层:Redis、Kafka集群跨可用区高可用部署。
    • 数据层:MySQL数据库高可用,通过DRS数据复制服务实现跨云的数据库复制与容灾切换;并可定期自动备份数据,在数据丢失时快速恢复业务。OBS对象存储服务同样支持跨Region复制能力。
  • 为了保证数据的可靠性,RDS数据库的数据定期自动备份到OBS,在数据丢失时可以快速恢复。

相关文档