在SQS + Lambda中,是否可以编写Lambda内部轮询器从SQS读取消息的分布式处理逻辑?

In SQS + Lambda, can I write the distributed processing logic of Lambda internal poller that reads messages from SQS?

我目前正在使用 SQS(fifo) + Lambda 触发器架构。 每当向 SQS 发出消息时,都会创建一个 Lambda 函数并由内部轮询器处理。

这是完全正常的,典型的SQS + Lambda处理逻辑。 但我想限制每秒创建的最大 Lambda 数。 无论如何将数十万条消息传递到 SQS,Lambda 内部轮询器都会对这些消息进行速率限制以创建 Lambda 函数,我想自己编写此速率限制逻辑。

可能吗?如果可以,请留下相关资料,不胜感激! 另外,如果你有比SQS + Lambda更好的推荐架构,请分享!

But I want to limit the maximum number of Lambdas created per second.

您可以通过设置 lambda 的 concurrency limit 来做到这一点。如果你只想要一个功能,将它设置为 1。

and I want to write this rate limiting logic myself.

您不能更改 lambda 的 SQS pooler 的内部逻辑。