一家公司在 AWS 上托管一个三层电子商务应用程序。该网站托管在 Amazon S3 上,并与 Application Load Balancer (ALB) 后面的三个 Amazon EC2 实例上的 API 集成。该 API 提供静态和动态前端内容,以及异步处理销售请求的后端工作程序。公司预计在产品发布期间销售请求会出现突然的大幅峰值。解决方案架构师应推荐什么来确保所有请求都得到成功处理?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 为静态内容添加 Amazon CloudFront 分配。添加一个 Amazon Simple Queue Service (Amazon SQS) 队列来接收来自网站的请求,供 EC2 实例稍后处理。.
为什么这是答案
正确答案通过结合Amazon CloudFront和Amazon SQS解决了高流量峰值问题。CloudFront可以缓存静态内容,减轻EC2实例的负载,提高网站响应速度。Amazon SQS作为消息队列,能够解耦前端请求和后端处理。当销售请求激增时,SQS可以接收并存储这些请求,防止后端EC2实例过载,确保所有请求最终都能被异步处理,从而提高系统的弹性和可靠性。 其他选项的不足: 选项一:增加EC2实例数量是应对流量的一种方式,但没有解决静态内容分发和异步处理的效率问题。 选项二:将EC2实例放入Auto Scaling组是应对流量增长的有效方法,但没有利用CloudFront缓存静态内容,也没有引入消息队列来平滑处理峰值。 选项三:为动态内容添加CloudFront分配通常不合适,因为动态内容变化频繁,缓存效果不佳。在ALB前面添加ElastiCache可以减少API处理的流量,但对于销售请求这种需要持久化处理的场景,缓存并不能完全替代消息队列的异步处理能力。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡