如何将多个 lambda 函数订阅到同一个 SQS 队列

如何将多个 lambda 函数订阅到同一个 SQS 队列

我想要实现的是使用 lambda 函数来扩展定义队列的消费者数量,而不是“自托管”订阅者的数量。

假设event-queue我希望多个消费者处理来自同一队列的唯一消息,就像我对一组进程所做的那样,但我想使用云托管的 lambda 函数。到目前为止,我只找到了如何使用单个函数进行订阅,而没有扩展选项。

答案1

我发现这篇非常有用的文章cloudonaut.io(由 Andreas Wittig 撰写),它举例说明了针对多个 AWS Lambdas 使用者的一种方法:

集成 SQS 和 Lambda:适用于异步工作负载的无服务器架构

为了扩展 Andreas 的解决方案,你可以使用AWS CloudWatch 警报来自您的 AWS SQS 队列和触发器阻止某些类型的 Cookie 的话会影响到您的网站体验。您可以随时单击此网站页脚中的 Cookie 首选项来对您的 Cookie 首选项进行更改。要了解有关我们及经批准的第三方如何在网站上使用 Cookie 的更多信息,请阅读 AWS Cookie 声明。(和/或AWS 无服务器应用程序存储库) 在需要时启动更多 AWS Lambda 使用者。

另一种方法是使用亚马逊 MQ

如果你使用亚马逊简单通知服务 (SNS)或者阻止某些类型的 Cookie 的话会影响到您的网站体验。,相同的消息将触发不同的 lambda,并且您可能会在 lambda 之间得到重复的操作。

[更新]

现在可以使用 Amazon Simple Queue Service 作为 AWS Lambda 的触发器:

更多信息请点击这里:https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

相关内容