Lo que quiero lograr es escalar el número de consumidores de una cola definida utilizando funciones lambda, en lugar de suscriptores "autohospedados".
Para un caso determinado, event-queue
quiero que varios consumidores procesen mensajes únicos de esta misma cola, tal como lo haría simplemente con un grupo de procesos, pero me gustaría usar las funciones lambda alojadas en la nube. Hasta ahora solo encontré cómo suscribirme con una sola función, sin opción de escala.
Respuesta1
Encontré este artículo muy útil denubenauta.io(por Andreas Wittig), que ejemplifican un enfoque para múltiples consumidores de AWS Lambdas:
Integre SQS y Lambda: arquitectura sin servidor para cargas de trabajo asíncronas
Para escalar la solución de Andreas puedes usarAlarmas de AWS CloudWatchdesde su cola AWS SQS y tiggerFormación en la nube de AWS(y/oRepositorio de aplicaciones sin servidor de AWS) para atraer más consumidores de AWS Lambda cuando sea necesario.
Otro enfoque es utilizarAmazon MQ.
Si utilizaServicio de notificación simple de Amazon (SNS)oAWS Kinesis, el mismo mensaje activará diferentes lambdas y probablemente obtendrá acciones duplicadas entre sus lambdas.
[actualizar]
Ahora es posible utilizar Amazon Simple Queue Service como activador de AWS Lambda:
Más información aquí:https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/