共计 624 个字符,预计需要花费 2 分钟才能阅读完成。
在 AWS 官方文档中,Web 应用程序托管架构图如下:
这是一个常见的 Web 应用程序部署架构,在这个分层结构中,采用了多重 AWS 服务来保证 Web 应用程序的性能、稳定性、容错、可扩展等能力:
1. 用户首先会通过 Amazon Route 53 服务查询 DNS;
2. Web 应用程序的静态、动态以及流媒体内容通过 Amazon CloudFront 分发到不同地域节点,用户访问的时候直接从距离最近的节点获取这些内容;
3. Web 应用程序用到的资源和静态内容全部存储在 S3 上;
4. 在 Web 服务器和应用程序服务器的前端,均使用 Amazon ELB 服务进行 HTTP 负载均衡,将用户请求均衡分发到不同的 EC2 虚拟机节点,并且可以在同一个 Region 下跨不同的可用分区(Availability Zone)进行分发,在保证性能的基础上增加了容错和可靠性;
5. 所有的 Web 服务器都部署在 EC2 虚拟机上,并且大多数情况下都需要定制一些虚拟机镜像(AMI)来满足不同的需求,后续部署新的 Web 服务器的时候既可以直接使用这个 AMI 创建虚拟机;
6. 所有的 Web 服务器和应用程序服务器都部署在一个自动伸缩组(Auto Scaling Group)下,AutoScaling 将会根据配置的策略自动添加或者减少虚拟机。以便在用户访问量较大的时候提高性能,以及在访问量很小的时候减少虚拟机以降低成本;
7. 在最底层,采用 Amazon RDS(Relational Database Service)来保存应用程序的数据。