Q58 — AWS SAA-C03 第14章

第 58/100 题 | ← 返回第14章

Q1058.一家公司有一个三层 Web 应用程序,用于处理来自客户的订单.Web 层由应用程序负载均衡器后面的 Amazon EC2 实例组成.处理层由 EC2 实例组成.该公司使用 Amazon Simple Queue Service (Amazon SQS) 将 Web 层和处理层分离.存储层使用 Amazon DynamoDB.在高峰时段,一些用户报告订单处理延迟和大厅拥堵.该公司注意到,在这些延迟期间,EC2 实例的 CPU 使用率达到 100%,SQS 队列已满.高峰时段变化多端且不可预测.该公司需要提高应用程序的性能.哪种解决方案可以满足这些要求?

正确答案: D. 使用 Amazon EC2 Auto Scaling 目标跟踪策略扩展处理层实例.使用 ApproximateNumberOfMessages 属性确定何时扩展.

解析

为了提高应用程序的性能,解决高峰时段的订单处理延迟和高 CPU 使用率问题,最好的解决方案是:D. 使用 Amazon EC2 Auto Scaling 目标跟踪策略扩展处理层实例.使用 ApproximateNumberOfMessages 属性确定何时扩展.### 解释:\ 1. 自动伸缩目标跟踪策略:- 目标跟踪扩展策略会根据实时指标自动调整 Auto Scaling 组中的 EC2 实例数量.这可确保处理层能够在需求增加时进行扩展.\ 2. 使用 ApproximateNumberOfMessages:- 通过使用 SQS 队列中的“ApproximateNumberOfMessages”属性,Auto Scaling 策略可以在队列中的消息数量超过预定义阈值时有效地扩展处理层.这直接解决了 SQS 队列中的积压问题,并有助于更有效地管理订单处理.\ 3. 动态缩放:- 鉴于高峰时间是可变且不可预测的,这种方法允许根据实际工作负载进行动态扩展,而不是依赖于可能与实时需求不符的计划扩展.其他选项的评估:A. 使用 Amazon EC2 Auto Scaling 的计划扩展:- 计划扩展不适用于不可预测的高峰时段.它无法快速响应突然出现的需求高峰,从而导致潜在的延迟.B. 使用 Amazon ElastiCache for Redis:- 虽然缓存可以提高性能,但它不能直接解决处理层的 CPU 利用率或 SQS 队列中的积压问题.此外,它增加了架构的复杂性,而没有解决眼前的问题.C. 添加 Amazon CloudFront 分发:- CloudFront 主要用于缓存静态内容并减少 Web 应用程序的延迟.它不直接解决处理层内的订单处理容量问题.### 结论:选项 D 提供了一个强大的解决方案,可以根据实际需求动态扩展处理层,有效解决高峰时段的性能问题,同时管理 SQS 队列积压.