Как подписать несколько лямбда-функций на одну и ту же очередь SQS

Как подписать несколько лямбда-функций на одну и ту же очередь SQS

Я хочу добиться масштабирования количества потребителей определенной очереди с помощью лямбда-функций, а не «самостоятельных» подписчиков.

Для данного event-queueя хочу, чтобы несколько потребителей обрабатывали уникальные сообщения из этой же очереди, как я бы просто сделал с кластером процессов, но я хотел бы использовать размещенные в облаке лямбда-функции. Пока что я только нашел, как подписаться с помощью одной функции, без опции масштабирования.

решение1

Я нашел эту очень полезную статью отcloudonaut.io(Андреас Виттиг), которые иллюстрируют один из подходов к нескольким потребителям AWS Lambdas:

Интеграция SQS и Lambda: бессерверная архитектура для асинхронных рабочих нагрузок

Для масштабирования решения Андреаса вы можете использоватьСигналы тревоги AWS CloudWatchиз вашей очереди AWS SQS и tiggerAWS CloudFormation(и/илиРепозиторий бессерверных приложений AWS) для развертывания большего количества потребителей AWS Lambda при необходимости.

Другой подход заключается в использованииАмазон MQ.

Если вы используетеПростая служба уведомлений Amazon (SNS)илиAWS Кинезис, одно и то же сообщение вызовет разные лямбда-выражения, и вы, вероятно, получите дублирующиеся действия между вашими лямбда-выражениями.

[обновлять]

Теперь можно использовать Amazon Simple Queue Service в качестве триггера для AWS Lambda:

Более подробная информация здесь:https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

Связанный контент