Я хочу добиться увеличения числа потребителей определенной очереди с помощью лямбда-функций вместо «размещенных на собственном хостинге» подписчиков.
Для данного event-queue
Я хочу, чтобы несколько потребителей обрабатывали уникальные сообщения из одной и той же очереди, точно так же, как я бы просто поступил с кластером процессов, но я хотел бы использовать облачные лямбда-функции. Пока что я только что нашел, как подписаться с одной функцией без возможности масштабирования.
Я нашел эту очень полезную статью от cloudonaut.io (Андреас Виттиг), которые иллюстрируют один подход к нескольким потребителям AWS Lambdas:
Интеграция SQS и Lambda: бессерверная архитектура для асинхронных рабочих нагрузок
Чтобы масштабировать решение Андреаса, вы можете использовать Сигналы тревоги AWS CloudWatch из очереди AWS SQS и тигра AWS CloudFormation (и / или Репозиторий бессерверных приложений AWS), чтобы при необходимости привлечь больше потребителей AWS Lambda.
Другой подход - использовать Amazon MQ.
Если вы используете Amazon Simple Notification Service (SNS) или AWS Kinesis, одно и то же сообщение вызовет разные лямбды, и вы, вероятно, получите дублированные действия между вашими лямбдами.
[Обновить]
Теперь можно использовать Amazon Simple Queue Service в качестве триггера для AWS Lambda:
Больше информации здесь: https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/