信息管理类应用典型部署架构(99.95%)
信息管理类应用通常用于内部操作,且在故障时只会对内部员工造成影响,可以承受一定的恢复时间和恢复点,其可用性目标通常要求达到99.95%,即每年故障时长可以为4.38小时。
假定故障中断与变更中断的时长分别如下:
- 故障中断:假定每年故障中断4次,每次应急恢复决策时长为20分钟,恢复处理时长为10分钟,则每年故障中断时长为120分钟。
- 变更中断:假定应用支持离线更新与在线补丁,每年离线更新4次,每次更新时长30分钟,则每年更新时长为120分钟;在线补丁不影响业务。
按照以上评估,每年应用系统不可用的时长是240分钟,满足可用设计目标要求。
信息管理类应用典型架构为前端无状态应用层+后端数据库,其中前端无状态应用可采用ECS或CCE(以CCE为例),通过ELB负载均衡;后端数据库基于不同业务类型可采用不同数据库,通常采用GaussDB提供更高性能与可靠性;基于业务需要,通常还会使用DCS、Kafka等中间件及DDS文档数据库;为满足对应的可用性目标,建议方案如下:
类别 |
实施方案 |
---|---|
冗余 |
ELB、CCE、DCS、Kafka、GaussDB、DDS等云服务实例均高可用部署。 |
备份 |
GaussDB、DDS数据库自动备份,在数据故障时使用最新备份数据恢复,可以满足可用性目标要求。 |
容灾 |
应用跨3AZ部署,AZ故障时自动恢复。 |
监控告警 |
支持业务运行状况、成功指标的检查,在发生故障时告警;支持云服务实例负载状态及资源故障切换等的监控,在负载超过阈值或状态异常时告警。 |
弹性扩缩容 |
针对内部用户场景,资源足够,无需自动弹性伸缩;针对CCE容器,通过CCE进行负载均衡与弹性伸缩;针对GaussDB,可根据GaussDB负载监控情况,自动扩缩规格或增删只读节点。 |
变更防差错 |
软件更新采用离线更新与在线补丁,根据runbook进行应用的自动部署与回滚。每1~2个月更新一次软件。 |
应急恢复处理 |
制定应急处理机制,指定应急恢复人员,以便在突发事件后能快速决策和恢复;并提供常见应用、数据库问题以及升级部署失败的相关解决方案,以便在出现问题后可以及时恢复。 |
根据以上方案,典型部署架构如下:
该架构的主要特点包括:
- 应用系统采用无状态应用+有状态数据库的分层部署架构。
- 该应用系统在华为云单个Region部署一套完整系统,采用跨AZ部署,可以实现云内应用层跨数据中心双活。
- 接入层(外部DNS):通过外部DNS进行域名解析与流量负载均衡,单个AZ故障对业务没有影响。
- 应用层(ELB负载均衡器、应用软件及容器):对于无状态应用采用跨AZ高可用部署,通过ELB负载均衡器进行故障检测与负载均衡,并可通过CCE容器进行负载监控和弹性伸缩。
- 中间件层:Redis、Kafka集群跨可用区高可用部署,单个AZ故障对业务没有影响。
- 数据层:GaussDB与DDS数据库及OBS对象存储跨3AZ高可用部署,数据分布式强一致,单个AZ故障对业务没有影响,数据零丢失。
- 为了保证数据的可靠性,GaussDB与DDS数据库的数据定期自动备份。