Q38 — AWS SAA-C03 第5章
第 38/65 题 | ← 返回第5章
Q338.一家公司提供快速增长的送餐服务.由于增长,公司的订单处理系统在高峰时段遇到扩展问题.当前架构包括以下内容:- 在 Amazon EC2 Auto Scaling 组中运行的一组 Amazon EC2 实例,用于从应用程序收集订单- 在 Amazon EC2 Auto Scaling 组中运行以履行订单的另一组 EC2 实例订单收集过程发生得很快,但订单履行过程可能需要更长的时间数据不能因为缩放事件而丢失.解决方案架构师必须确保订单收集流程和订单履行流程都可以在高峰流量时段适当扩展.该解决方案必须优化公司 AWS 资源的利用率.哪个解决方案满足这些要求?
- A. 使用 Amazon CloudWatch 指标监控 Auto Scaling 组中每个实例的 CPU.根据峰值工作负载值配置每个 Auto Scaling 组的最小容量.
- B. 使用 Amazon CloudWatch 指标监控 Auto Scaling 组中每个实例的 CPU.配置一个CloudWatch 警报调用 Amazon Simple Notification Service (Amazon SNS) 主题创建额外的自动按需扩展组.
- C. 提供两个 Amazon Simple Queue Service (Amazon SQS) 队列:一个用于订单收集,另一个用于订单fulfillment 配置 EC2 实例以轮询它们各自的队列.根据队列发送的通知扩展 Auto Scaling 组.
- D. 提供两个 Amazon Simple Queue Service (Amazon SQS) 队列:一个用于订单收集,另一个用于订单fulfillment 配置 EC2 实例以轮询它们各自的队列.根据每个实例的积压创建指标计算.根据此指标扩展 Auto Scaling 组. ✓
正确答案: D. 提供两个 Amazon Simple Queue Service (Amazon SQS) 队列:一个用于订单收集,另一个用于订单fulfillment 配置 EC2 实例以轮询它们各自的队列.根据每个实例的积压创建指标计算.根据此指标扩展 Auto Scaling 组.
解析
当每个实例的积压达到目标值时,将发生横向扩展事件.因为每个实例的积压已经是 150 条消息(1500 条消息/10 个实例),所以您的组向外扩展,并且按五个实例向外扩展以保持与目标值的比例.每个实例的积压:要计算每个实例的积压,请从 ApproximateNumberOfMessages 队列属性开始,以确定 SQS 队列的长度(可从队列中检索的消息数).将该数字除以队列的运行容量,对于 Auto Scaling 组来说,这是处于 InService 状态的实例数,以获得每个实例的积压.作为AI语言模型,在不了解公司订单处理系统的具体要求之前,我无法给出明确的答案.但是,这是我对选项的分析:选项 A:监控 Auto Scaling 组中每个实例的 CPU 使用率有助于确保有足够的容量来处理峰值工作负载.但是,这种方法没有考虑网络延迟或磁盘 I/O 等可能影响性能的因素.此外,根据峰值工作负载值设置最小容量可能会导致在非高峰时段过度配置.选项 B:使用 CloudWatch 警报触发创建额外的 Auto Scaling 组可以帮助确保有足够的容量来处理流量高峰.然而,这种方法可能没有针对资源利用率进行优化,因为无论实际工作量如何,都会创建新组.选项 C:预置两个 Amazon SQS 队列,一个用于订单收集,另一个用于订单履行,可以帮助分离这两个流程并减少争用.根据来自队列的通知扩展 Auto Scaling 组有助于确保资源得到适当分配.但是,此方法可能需要大量配置和监控以确保正确处理消息.选项 D:使用 Amazon SQS 队列来管理订单收集和履行流程并根据每个实例的积压计算创建指标可以帮助优化资源利用率并防止扩展事件期间的数据丢失.根据此指标扩展 Auto Scaling 组有助于确保有足够的容量来处理工作负载,同时最大限度地减少过度配置.总体而言,选项 D 似乎是给定场景的最有效解决方案,因为它涉及使用 Amazon SQS 队列来管理订单收集和履行流程,并通过基于每个实例积压计算的扩展来优化资源利用率.然而,最终的解决方案将取决于公司订单处理系统的具体要求和约束条件.