三层 Web 应用架构
【摘要】 生产级三层 Web 架构,采用高可用多可用区部署、自动伸缩、私有子网安全隔离和双层负载均衡等业界最佳实践,转换后的华为云架构保留全部核心能力,提供同等水平的高可用、可扩展和安全隔离保障。
1. 用途和受众
1.1 预期用途
用于在华为云上构建生产级三层 Web 应用(Web 层 + 应用层 + 数据层),实现前后端分离部署、流量分层负载均衡、计算资源自动伸缩和数据库高可用。适用于需要高并发处理能力、多可用区容灾和严格网络隔离的 Web 应用系统部署。
适用行业:互联网电商、在线教育、SaaS 应用、企业门户等需要三层分离架构的 Web 应用场景。
业务场景:高并发 Web 服务(促销活动、直播互动)、前后端分离应用(Apache 静态 + Node.js 动态)、需要自动伸缩应对流量波动的在线服务。
合规要求:适用于需要网络隔离和数据保护的场景,私有子网部署后端和数据库,仅通过堡垒机管理访问。
部署规模:推荐中大型部署(Web 层 2-10 实例、App 层 2-8 实例、RDS 主备版),小型应用可适当缩减伸缩范围。
1.2 目标受众
- DevOps 工程师:负责在华为云上规划和部署三层 Web 应用基础设施
- 云架构师:需要将 源参考 三层架构经验迁移到华为云平台的技术决策者
- 后端开发团队:使用 Node.js 等技术栈构建应用层,需要了解华为云部署架构
- 运维团队:负责华为云上多层架构的日常监控、伸缩策略调优和故障排查
2. 参考架构概述
2.1 架构描述
华为云三层 Web 应用架构是面向高可用 Web 服务场景的分层参考架构,旨在通过集成公网负载均衡、双层弹性伸缩、内网负载均衡和关系型数据库高可用部署,加速生产级 Web 应用在华为云上的快速落地和高可用保障。
2.2 业务背景
| 项目 | 描述 |
|---|---|
| 业务问题 | 传统单机部署无法应对流量高峰,缺乏自动伸缩和多可用区容灾能力,前后端耦合导致维护困难 |
| 期望的结果 | 实现三层分离部署,Web 层和应用层独立伸缩,数据库高可用,流量通过双层负载均衡分层路由,具备多可用区容灾能力 |
| 主要用户 | 互联网应用终端用户(通过浏览器/App 访问)、DevOps 运维人员(通过堡垒机管理后端)、开发团队(部署和调试应用) |
| 关键制约因素 | 需要多可用区部署保障高可用;私有子网隔离禁止公网直连后端;数据库仅允许应用层访问;预算需覆盖 NAT 网关和负载均衡常驻费用 |
| 成功指标 | 系统可用性 ≥ 99.95%;Web 层和应用层可根据流量自动伸缩;数据库故障切换时间 < 30 秒;请求端到端延迟 < 200ms |
2.3 架构优点
- 高可用多可用区部署:Web 层、应用层和数据库均跨可用区部署,单可用区故障不影响整体服务可用性
- 自动伸缩弹性扩容:Web 层和应用层独立配置弹性伸缩策略,根据 CPU 利用率或请求量自动增减实例,应对流量波动
- 分层安全隔离:应用层和数据库部署在私有子网,公网无法直接访问;仅堡垒机可通过 SSH 接入管理,安全组按最小权限配置
- 双层负载均衡:公网 ELB 分发用户流量到 Web 层,内网 ELB 分发 Web 层请求到应用层,实现流量分层路由和负载分担
- 模块化基础设施即代码:网络、安全组、负载均衡、伸缩组、数据库各模块独立管理,便于维护和复用
2.4 设计关注点
| 高可用性 | 安全性 | 可扩展性 | 成本优化 |
|---|---|---|---|
| 多可用区部署所有层级 | 私有子网隔离后端和数据库 | Web/App 层独立弹性伸缩 | 按需伸缩减少闲置资源 |
| 数据库主备自动切换 | 安全组最小权限规则 | 伸缩组支持自定义伸缩策略 | NAT 网关按流量计费 |
| ELB 健康检查自动剔除故障实例 | 堡垒机集中管理 SSH 访问 | ELB 支持加权轮询和最小连接 | 数据库可选用按需计费 |
| 效益 | 架构如何实现它 | 测量 |
|---|---|---|
| 高可用 | 多可用区部署 + ELB 健康检查 + 数据库主备切换 | 系统可用性百分比、故障恢复时间 |
| 弹性伸缩 | AS 弹性伸缩组根据 CPU/请求量自动增减 ECS 实例 | 伸缩响应时间、实例利用率 |
| 安全隔离 | 私有子网 + 分层安全组 + 堡垒机 | 安全事件数量、未授权访问拦截率 |
| 流量分发 | 公网 ELB + 内网 ELB 双层负载均衡 | 请求延迟、负载均衡分发均匀度 |
2.5 典型架构
下图展示了华为云三层 Web 应用参考架构,包含网络接入层、Web 计算层、应用计算层、数据层和安全运维层的完整部署拓扑。

2.6 流程描述
- 用户请求接入:互联网用户 → 公网 ELB(用户通过浏览器发送 HTTP 请求,公网弹性负载均衡接收并分发请求)
- 流量分发到 Web 层:公网 ELB → AS-Web(负载均衡将请求分发到 Web 层弹性伸缩组中的 ECS 实例,由 Apache 处理静态内容和页面渲染)
- Web 层调用应用层:Web 层 ECS → 内网 ELB(Web 层将动态请求转发到内网弹性负载均衡,内网 ELB 仅在 VPC 内部可达)
- 分发到应用层:内网 ELB → AS-App(内网负载均衡将请求分发到应用层弹性伸缩组中的 ECS 实例,由 Node.js 处理业务逻辑)
- 应用层访问数据库:App 层 ECS → RDS(应用层 ECS 通过私有网络访问 RDS MySQL 数据库,执行数据读写操作)
- 响应返回:RDS → App 层 → 内网 ELB → Web 层 → 公网 ELB → 用户(数据库返回结果,经应用层和 Web 层逐级处理后返回给用户)
2.7 云服务产品清单
| 分类 | 服务或产品 | 推荐配置 |
|---|---|---|
| 网络接入层 | ELB(公网), WAF | ELB: 独享型,按业务流量配置监听器; WAF: 专业版,开启 Web 攻击防护规则 |
| 网络层 | VPC, 子网, NAT 网关, 路由表, EIP | VPC: 标准版; NAT 网关: 按规格选型; EIP: 按带宽计费 |
| 计算层(Web) | ECS, AS, ELB(内网) | ECS: 通用计算型 2核4G; AS: 伸缩范围 2-10 实例; ELB: 共享型内网 |
| 计算层(App) | ECS, AS | ECS: 通用计算增强型 4核8G; AS: 伸缩范围 2-8 实例 |
| 数据层 | RDS(MySQL) | RDS: 主备版,8核16G,高可用实例,500G SSD 云盘 |
| 安全运维层 | 安全组, IAM, CES, AOM, 堡垒机(ECS) | 安全组: 最小权限规则; IAM: 标准版,开启 MFA; CES: 基础监控; AOM: 应用运维标准版; 堡垒机: 1核2G |
3. 参考链接
- 华为云 VPC 产品文档:https://support.huaweicloud.com/productdesc-vpc/zh-cn_topic_0018088016.html
- 华为云 ELB 产品文档:https://support.huaweicloud.com/productdesc-elb/zh-cn_topic_0018088016.html
- 华为云 AS 产品文档:https://support.huaweicloud.com/productdesc-as/zh-cn_topic_0018088016.html
- 华为云 RDS 产品文档:https://support.huaweicloud.com/productdesc-rds/zh-cn_topic_0018088016.html
- 华为云 ECS 产品文档:https://support.huaweicloud.com/productdesc-ecs/zh-cn_topic_0018088016.html
4. 使用限制
- 参考架构非生产就绪:本文档为参考架构,提供设计蓝图和最佳实践指导,不包含可直接部署的自动化脚本或完整配置。实际部署需根据组织具体需求进行定制化适配
- 云平台版本要求:部分服务可能需企业版账号或特定版本才能开通使用,建议在部署前确认所需服务的可用性
- 服务白名单:部分高级服务可能需提前申请白名单开通
- 跨区域部署限制:跨区域部署时需考虑数据同步延迟和合规要求(如数据本地化),部分服务可能不支持跨区域联动
- 推荐部署规模:适用于中大型 Web 应用(日均 PV 10万-100万级),小型应用可简化为单层部署以降低成本
- 组件替换风险:架构设计支持组件替换和新增,但替换已验证的组件可能引入集成兼容性问题,需额外测试验证
- 合规认证依赖:架构对标相关合规标准,但实际合规认证需组织自行完成认证流程,本架构不替代正式合规审计
- 持续运维要求:架构需要持续的策略调优、版本升级和监控运营,非一次性部署即可永久生效
附录 A. 术语和缩略语
| 缩略语 | 全称 | 说明 |
|---|---|---|
| VPC | Virtual Private Cloud | 虚拟私有云,提供隔离的云上网络环境 |
| ELB | Elastic Load Balance | 弹性负载均衡,将流量分发到多台后端服务器 |
| ECS | Elastic Cloud Server | 弹性云服务器,可随时获取、弹性伸缩的云服务器 |
| AS | Auto Scaling | 弹性伸缩,根据策略自动增减计算实例 |
| RDS | Relational Database Service | 关系型数据库服务,提供托管数据库 |
| WAF | Web Application Firewall | Web 应用防火墙,防护 Web 攻击 |
| NAT | Network Address Translation | 网络地址转换,实现私网访问公网 |
| EIP | Elastic IP | 弹性公网 IP,可灵活绑定的公网 IP 地址 |
| IAM | Identity and Access Management | 统一身份认证服务 |
| CES | Cloud Eye Service | 云监控服务,提供资源监控和告警 |
| AOM | Application Operations Management | 应用运维管理,提供应用级监控运维 |
| ALB | Application Load Balancer | 七层应用负载均衡 |
| ASG | Auto Scaling Group | 自动伸缩组 |
| Multi-AZ | Multi Availability Zone | 多可用区部署,跨数据中心容灾保障 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)