我有一个SQS队列,用作Lambda函数的事件源。由于数据库连接的限制,我将Lambda函数的最大并发设置为5。
在正常情况下,一切正常,但是当我们需要进行更改时,我们会故意禁用SQS触发器。邮件开始按预期备份到SQS队列中。
重新启用触发器后,将实例化5个Lambda函数,并开始处理队列中的消息,但是我还看到CloudWatch告诉我Lambda正在受到限制。
请有人能解释为什么会这样吗?我希望可用的Lambda函数能够尽可能快地处理积压,并且不会因为队列而节流。
答案 0 :(得分:2)
这是预期的行为。
“在达到与功能相关的并发限制时,对该功能的任何进一步的调用请求都会受到限制,即该调用不会执行您的功能。每次受到限制的调用都会增加该功能的Amazon CloudWatch Throttles指标”
https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html