Q31 — AWS SAA-C03 第14章

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

Q1031. 解决方案架构师正在设计一款帮助用户填写和提交注册表单的应用程序.解决方案架构师计划使用包含 Web 应用程序服务器层和工作层的两层架构.应用程序需要快速处理已提交的表单.应用程序需要对每个表单进行一次处理.解决方案必须确保不会丢失任何数据.哪种解决方案可以满足这些要求?

正确答案: A. 在 Web 应用程序服务器层和工作层之间使用 Amazon Simple Queue Service (Amazon SQS) FIFO 队列来存储和转发表单数据.

解析

为了满足快速处理提交的表单、确保每个表单只处理一次、防止两层架构下数据丢失的要求,最好的解决方案是:A. 在 Web 应用程序服务器层和工作层之间使用 Amazon Simple Queue Service (Amazon SQS) FIFO 队列来存储和转发表单数据.### 解释:\ 1. Amazon SQS FIFO 队列:- FIFO(先进先出)队列确保消息按照发送的准确顺序进行处理,并保证只处理一次.这对于表单提交至关重要,因为处理顺序可能很重要,并且您希望确保不会遗漏任何表单或多次处理任何表单.\ 2.耐用性和可靠性:- SQS 提供持久的消息存储解决方案,确保即使工作层暂时无法处理消息也不会丢失数据.消息可以保留在 FIFO 队列中,直到成功处理为止.\ 3. 可扩展性:- 使用 SQS 可以轻松扩展工作层.您可以添加更多工作器来同时处理来自队列的消息,确保快速处理表单提交而不会丢失任何数据.其他选项的评估:B.使用 Amazon API Gateway HTTP API:- API 网关通常设计用于路由 HTTP 请求,不提供保证的消息传递、一次性处理或异步处理的持久性,因此不适合这种用例.C. 使用 Amazon Simple Queue Service (Amazon SQS) 标准队列:- 虽然标准队列允许高吞吐量并适用于许多用例,但它不能保证一次交付.消息可能会被交付多次,这可能导致重复处理表单提交.D.使用 AWS Step Functions 工作流:- 虽然 Step Functions 可以管理工作流并确保完成某些任务,但将其用作同步工作流可能会带来延迟和复杂性.它不是专门为处理 SQS 等消息队列而设计的,并且以同步方式管理状态和重试的效率可能低于使用专用队列服务.### 结论:选项 A 提供了最可靠、可扩展且高效的解决方案,用于在两层架构中处理注册表格,同时确保每个表格只处理一次且不会丢失数据.