消耗的SQS消息吗?"/>
Lambda会收到已消耗的SQS消息吗?
我有这样的系统设计
SQS->触发器-> Lambda->如果失败-> DLQ
前提条件
- 使用try catch块的Lambda函数,不会引发任何错误。
- Lambda函数永远不会耗尽内存或超时。 (来自Lambda监视)
- Lambda监视中的错误计数为0
- 请勿使用SQS控制台查看消息
- Lambda SQS batchSize设置为1
- DLQ最大接收设置为1
- Lambda调用约60k
一段时间后
- 我们在DLQ中找到了一些消息
- DLQ中的消息的属性AttributeReceiveRecountCount等于2
这是预期的吗?
我认为,如果Lambda中没有错误,则DLQ消息应始终为零。
回答如下:SQS旨在提供at least once delivery。您的消息有可能被多个lambda调用接收。
如果您只需要一次交货,请考虑使用fifo queue
更多推荐
Lambda会收到已消耗的SQS消息吗?
发布评论