AmazonAmazon AWS Certified Solutions Architect – Associate (SAA-C03)
·CN
·更新于 19 Jul 2026
一家公司的电子商务结账工作流将订单写入数据库并调用支付服务。用户在结账时遇到超时;当他们重新提交时,会为同一笔交易创建多个唯一的订单。解决方案架构师应如何重构工作流以防止重复订单?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将订单存储在数据库中。发送包含订单号的消息到 Amazon Simple Queue Service (Amazon SQS) FIFO 队列。让支付服务检索消息、处理订单,然后从队列中删除消息。.
为什么这是答案
正确的解决方案是使用 Amazon SQS FIFO 队列。FIFO(先进先出)队列确保消息的处理顺序严格按照发送顺序,并且只处理一次。当用户遇到超时重新提交订单时,SQS FIFO 队列可以通过消息去重机制(例如使用消息组 ID 和去重 ID)防止重复订单被处理。支付服务从队列中检索消息,处理后删除,确保每笔订单只被处理一次。
其他选项的不足:
Kinesis Data Firehose 主要用于数据流的捕获和转换,不提供消息去重或严格的单次处理保证,可能导致重复订单。
AWS CloudTrail 规则用于监控和记录 AWS API 调用,而不是用于处理业务逻辑或防止重复订单。
Amazon SNS 是发布/订阅服务,消息会发送给所有订阅者,不提供消息去重或保证单次处理,可能导致重复订单。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 →
无需银行卡