Q27 — AWS SAA-C03 第14章
第 27/100 题 | ← 返回第14章
Q1027.解决方案架构师正在为将部署在 AWS 上的新无状态应用程序设计云架构.解决方案架构师为该应用程序创建了 Amazon 系统映像 (AMI) 和启动模板.根据需要处理的作业数量,处理必须并行运行,同时根据需要添加和删除应用程序 Amazon EC2 实例.应用程序必须松散耦合.作业项目必须持久存储.哪种解决方案可以满足这些要求?
- A. 创建一个 Amazon Simple Notification Service (Amazon SNS) 主题来发送需要处理的作业.使用启动模板创建一个 Auto Scaling 组,并将扩展策略设置为根据 CPU 使用率添加和删除 EC2 实例.
- B. 创建 Amazon Simple Queue Service (Amazon SQS) 队列来保存需要处理的作业.使用启动模板创建 Auto Scaling 组,并将扩展策略设置为根据网络使用情况添加和删除 EC2 实例.
- C. 创建 Amazon Simple Queue Service (Amazon SQS) 队列来保存需要处理的作业.使用启动模板创建 Auto Scaling 组,并将扩展策略设置为根据 SQS 队列中的项目数量添加和删除 EC2 实例. ✓
- D. 创建 Amazon Simple Notification Service (Amazon SNS) 主题以发送需要处理的作业.使用启动模板创建 Auto Scaling 组,并将扩展策略设置为根据发布到 SNS 主题的消息数量添加和删除 EC2 实例.
正确答案: C. 创建 Amazon Simple Queue Service (Amazon SQS) 队列来保存需要处理的作业.使用启动模板创建 Auto Scaling 组,并将扩展策略设置为根据 SQS 队列中的项目数量添加和删除 EC2 实例.
解析
要为 AWS 上新的无状态应用程序设计一个云架构,使其能够并行处理作业,并能够根据需要添加和删除 EC2 实例,同时确保作业持久存储且松散耦合,最好的解决方案是:C. 创建 Amazon Simple Queue Service (Amazon SQS) 队列来保存需要处理的作业.使用启动模板创建 Auto Scaling 组,并将扩展策略设置为根据 SQS 队列中的项目数量添加和删除 EC2 实例.### 解释:\ 1. 用于作业存储的 Amazon SQS:- SQS 是一种完全托管的消息队列服务,可实现分布式系统中组件的分离.它允许您持久存储作业,确保作业不会丢失,并可在 EC2 实例可用时进行处理.\ 2. 并行处理:- 通过使用 SQS,您可以让多个 EC2 实例从队列中提取消息(作业).这允许并行处理作业,这对于高效处理大量作业至关重要.\ 3. 根据队列长度自动扩展:- 将 Auto Scaling 组配置为根据 SQS 队列中的项目数量进行扩展,允许系统根据工作负载动态调整 EC2 实例的数量.如果队列中有许多作业,则可以启动新实例来处理负载,如果队列为空,则可以终止实例以节省成本.其他选项的评估:A. 创建一个 Amazon Simple Notification Service (Amazon SNS) 主题来发送需要处理的作业:- SNS 适用于发布/订阅消息传递,但不提供作业项目的持久存储.对于需要排队并按顺序或并行处理作业的场景,它并不理想.B. 创建一个 Amazon SQS 队列来保存需要处理的作业:- 虽然此选项正确使用了 SQS,但根据网络使用情况设置扩展策略对于确定工作负载并不有效.队列中的项目数量是更准确的扩展指标.D. 创建一个 Amazon Simple Notification Service (Amazon SNS) 主题来发送需要处理的作业:- 与选项 A 类似,使用 SNS 不会为作业处理提供持久存储.此外,基于发布到 SNS 主题的消息数量的扩展与实际工作负载不符.### 结论:选项 C 是最适合为无状态应用程序创建有弹性、可扩展且松散耦合的架构的解决方案,可以有效地并行处理作业处理,同时确保作业项的持久性.