某公司有一个数据摄取工作流,该工作流包含一个接收新数据交付通知的 Amazon SNS topic 和一个处理并存储数据的 AWS Lambda 函数。摄取偶尔会因网络连接问题而失败,除非手动重新运行作业,否则这些数据将无法摄取。解决方案架构师应如何确保所有通知最终都能得到处理?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将 Amazon Simple Queue Service (Amazon SQS) 队列配置为失败目标。修改 Lambda 函数以处理队列中的消息。.
为什么这是答案
当 Lambda 函数处理 SNS 通知失败时,将 Amazon SQS 队列配置为失败目标可以确保消息不会丢失。SNS topic 会将失败的消息发送到 SQS 队列,Lambda 函数可以从该队列中异步重新处理这些消息,从而实现消息的持久性和可靠重试。 其他选项不正确: 将 Lambda 函数配置为跨多个可用区部署:这提高了可用性,但不能解决因网络问题导致的处理失败。 修改 Lambda 函数的配置,以增加函数的 CPU 和内存分配:这可能有助于处理性能问题,但不能解决网络连接中断导致的失败。 配置 SNS topic 的重试策略:SNS topic 的重试策略主要用于向 HTTP/S 端点重试发送消息,而不是直接处理 Lambda 函数内部的失败。虽然 SNS 可以配置死信队列 (DLQ),但将 SQS 作为 Lambda 的失败目标是更直接和推荐的模式,因为 Lambda 可以直接处理 SQS 队列中的消息。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡