gpt4 book ai didi

node.js - Lambda 会收到已消费的 SQS 消息吗?

转载 作者:行者123 更新时间:2023-12-03 12:11:56 33 4
gpt4 key购买 nike

我有这样的系统设计

SQS -> 触发器 -> Lambda -> 如果失败 -> DLQ

前置条件

  • Lambda 函数使用 try catch 块,它不会抛出任何错误。
  • Lambda 函数永远不会耗尽内存或超时。 (来自 Lambda 监控)
  • Lambda 监控中的错误计数为 0
  • 切勿使用 SQS 控制台查看消息
  • Lambda SQS batchSize 设置为 1
  • DLQ 最大接收设置为 1
  • Lambda 调用大约 60k

  • 运行一段时间后
  • 我们在 DLQ 中发现了一些消息
  • DLQ 中的消息具有属性 ApproximateReceiveCount 为 2 或更大。

  • 这符合预期吗?

    在我看来,如果 Lambda 中没有错误抛出,DLQ 消息应该始终为零。

    最佳答案

    SQS 旨在提供 at least once delivery .您的消息可能会被多个 lambda 调用接收到。

    如果您需要一次交付,请考虑使用 fifo queue .

    关于您问题的第二部分 - 为什么将消息写入 DLQ。解决此问题的最简单方法是查找与 DLQ 中 SQS 消息的某些唯一标识方面相匹配的 lambda 调用日志。

    关于node.js - Lambda 会收到已消费的 SQS 消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61792240/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com