从SQS调用时为什么会限制Lambda?

时间:2019-02-08 19:27:29

标签: amazon-web-services aws-lambda amazon-sqs

我有一个SQS队列,用作Lambda函数的事件源。由于数据库连接的限制,我将Lambda函数的最大并发设置为5。

在正常情况下,一切正常,但是当我们需要进行更改时,我们会故意禁用SQS触发器。邮件开始按预期备份到SQS队列中。

重新启用触发器后,将实例化5个Lambda函数,并开始处理队列中的消息,但是我还看到CloudWatch告诉我Lambda正在受到限制。

请有人能解释为什么会这样吗?我希望可用的Lambda函数能够尽可能快地处理积压,并且不会因为队列而节流。

1 个答案:

答案 0 :(得分:2)

这是预期的行为。

“在达到与功能相关的并发限制时,对该功能的任何进一步的调用请求都会受到限制,即该调用不会执行您的功能。每次受到限制的调用都会增加该功能的Amazon CloudWatch Throttles指标”

https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html