Q90 — AWS SAA-C03 第14章

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

Q1090.一家公司正在构建一个无服务器应用程序来处理来自电子商务网站的订单.该应用程序需要在高峰使用时段处理突发流量并保持高可用性.订单必须按照应用程序的顺序异步处理接收他们.哪种解决方案可以满足这些要求?

正确答案: B. 使用 Amazon Simple Queue Service (Amazon SQS) FIFO 队列接收订单.使用 AWS Lambda 函数处理订单.

解析

为了确定无服务器应用程序的最佳解决方案,该应用程序可以按照收到的顺序异步处理订单、处理突发流量并保持高可用性,让我们评估每个选项:A. 使用 Amazon Simple Notification Service (Amazon SNS) 主题接收订单.使用 AWS Lambda 函数处理订单.Amazon SNS 专为高吞吐量、低延迟消息传递而设计.但是,SNS 主题本身并不维护消息的顺序.SNS 最适合扇出架构,其中需要将同一条消息传递到多个终端节点.AWS Lambda 可以异步处理消息,但如果没有 SNS 的排序保证,则此选项不符合按收到订单的顺序处理订单的要求.B. 使用 Amazon Simple Queue Service (Amazon SQS) FIFO 队列接收订单.使用 AWS Lambda 函数处理订单.Amazon SQS FIFO(先进先出)队列提供严格的消息排序.这确保订单按照收到的顺序进行处理.AWS Lambda 可由 SQS FIFO 队列触发,从而允许异步处理消息.SQS 可以处理可变的流量负载,因此适合在高峰使用时段处理突发流量.这些服务共同满足了处理流量突发、保持高可用性以及按收到的顺序异步处理订单的要求.C. 使用 Amazon Simple Queue Service (Amazon SQS) 标准队列接收订单.使用 AWS Batch 作业处理订单.Amazon SQS 标准队列不保证消息传递的顺序.AWS Batch 专为运行批量计算工作负载而设计,这可能不是实时异步处理单个订单的最有效或最具成本效益的方式.此选项不符合按收到订单的顺序处理订单的要求,并且可能不是处理实时异步订单处理的最佳方式.D. 使用 Amazon Simple Notification Service (Amazon SNS) 主题接收订单.使用 AWS Batch 作业处理订单.正如所讨论的,SNS 不提供排序保证.如上所述,AWS Batch 不适合实时、异步处理单个订单.此选项不符合按收到订单的顺序处理订单的要求,也不适合实时订单处理.考虑到要求,最佳解决方案是:B. 使用 Amazon Simple Queue Service (Amazon SQS) FIFO 队列接收订单.使用 AWS Lambda 函数处理订单.该解决方案可确保按照收到的顺序异步处理订单,可处理突发流量并保持高可用性.