跨云容灾方案
当重要应用系统已经在IDC或其他云上部署,并需要容灾到华为云,以提供高可用的容灾方案。假定应用系统在IDC或其他云上可以达到99.9%的可用性,则在容灾到华为云后,能提供99.99%的可用性。
跨云应用典型架构为前端无状态应用层+后端数据库,其中前端无状态应用可采用虚拟机或容器(以容器为例,华为云采用CCE),后端数据库通常要求采用通用MySQL数据库(华为云采用RDS for MySQL),以实现跨云容灾。
华为云上的应用部署建议方案如下:
类别 |
实施方案 |
---|---|
冗余 |
ELB、CCE、DCS、Kafka、RDS、DDS等云服务实例均高可用部署。 |
备份 |
RDS、DDS数据库自动备份,在数据故障时使用最新备份数据恢复,可以满足可用性目标要求。 |
容灾 |
应用跨AZ部署,AZ故障时自动恢复;支持跨云容灾,在IDC或其他云出现故障时可以快速切换到华为云。 |
监控告警 |
进行站点运行状态检查,在发生故障时告警;针对CCE、DCS、kafka、RDS、DDS等实例负载状态进行监控,在资源过载时需要告警。 |
弹性扩缩容 |
CCE集群支持工作负载的自动弹性伸缩。 |
变更防差错 |
软件更新采用金丝雀或蓝绿部署,部署过程自动完成,在部署过程中出现问题时自动回滚。 |
应急恢复处理 |
制定应急处理机制,指定应急恢复人员,以便在突发事件后能快速决策和恢复;并提供常见应用、数据库问题以及升级部署失败的相关解决方案,以便在出现问题后可以及时恢复;定期进行演练,及时发现问题。 |
根据以上方案,典型部署架构如下:
该架构的主要特点包括:
- 应用系统采用无状态应用+有状态数据库/虚拟机的分层部署架构。
- 应用系统在IDC/其他云与华为云中各部署一套完整系统;华为云采用跨AZ部署,可以实现云内应用层跨数据中心双活;云间数据支持将它云数据实时同步到华为云,采用主备容灾,在IDC/其他云故障的情况下能快速容灾切换到华为云。
- 接入层(外部DNS、API网关):通过外部DNS进行域名解析,在IDC/其他云故障时手工将业务流量切换到华为云。
- 应用层(负载均衡器、应用软件及虚拟机或物理主机):对于无状态应用,通过负载均衡器进行故障检测与负载均衡,在华为云上可通过AS弹性伸缩服务监控负载进行弹性伸缩;对于有状态应用,通过SDRS服务实现跨云的虚拟机数据复制与容灾切换,并可通过CBR服务进行自动数据备份。
- 中间件层:Redis、Kafka集群跨可用区高可用部署。
- 数据层:MySQL数据库高可用,通过DRS数据复制服务实现跨云的数据库复制与容灾切换;并可定期自动备份数据,在数据丢失时快速恢复业务。
- 为了保证数据的可靠性,数据库的数据定期自动备份,在数据丢失时可以快速恢复。