一个电子商务前端通过 API Gateway 调用 POST API,该 API 异步调用 Lambda 函数来处理订单。偶尔会有订单未被处理,且 Lambda 日志中没有显示错误。开发人员应该如何诊断和解决缺失的订单处理问题?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 检查 Lambda 死信队列 (DLQ) 中是否有失败事件,排查故障,并重新处理这些事件。.
为什么这是答案
当 Lambda 函数被异步调用时,如果调用失败(例如,由于函数执行错误或配置的重试策略耗尽),事件会被发送到配置的死信队列 (DLQ)。题目中提到“偶尔会有订单未被处理,且 Lambda 日志中没有显示错误”,这强烈暗示事件可能在 Lambda 层面处理失败后被发送到了 DLQ,因此 Lambda 的常规日志中没有错误记录。检查 DLQ 是诊断这些“丢失”事件的关键步骤,然后可以分析 DLQ 中的事件以找出失败原因并重新处理。 其他选项: 检查前端日志并手动重试:这只能解决前端调用失败的问题,但题目明确指出 Lambda 日志中没有错误,意味着前端调用可能成功到达了 API Gateway 和 Lambda。 检查 CloudWatch 中的 Lambda 日志:题目已说明 Lambda 日志中没有错误,所以此步骤不会发现问题。 确保 API Gateway 缓存已禁用:API Gateway 缓存通常用于提高性能,与异步 Lambda 调用失败导致订单丢失的场景关联不大。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡