Amazon SQS Esencial2006年〜
Servicio de colas de mensajes completamente gestionado
Qué hace
Amazon SQS (Simple Queue Service) es un servicio de colas de mensajes completamente gestionado para la comunicación asíncrona entre microservicios y sistemas distribuidos. Desacopla emisores y receptores para que uno pueda detenerse sin afectar al otro. Ofrece dos tipos de colas: estándar y FIFO.
Casos de uso
Se utiliza para comunicación asíncrona entre microservicios, almacenamiento en búfer de pipelines de procesamiento de pedidos, colas de trabajos para procesamiento por lotes, fuentes de eventos para funciones Lambda y absorción de picos de tráfico.
Analogía cotidiana
Se puede comparar con un buzón de correo. Se deposita una carta (mensaje) en el buzón (cola), y el cartero (receptor) la recoge y la entrega en orden. El remitente y el cartero no necesitan estar presentes al mismo tiempo; el buzón almacena temporalmente las cartas.
¿Qué es SQS?
Amazon SQS fue uno de los primeros servicios de AWS en lanzarse y sirve como base para las colas de mensajes. Los productores (emisores) envían mensajes a una cola, y los consumidores (receptores) recuperan y procesan mensajes de la cola. Los mensajes se retienen en la cola hasta que se completa el procesamiento, y los reintentos automáticos manejan los fallos de procesamiento.
Colas estándar y FIFO
Las colas estándar proporcionan un rendimiento prácticamente ilimitado con ordenamiento de mensajes de "mejor esfuerzo". Es posible la entrega duplicada ocasional. Las colas FIFO garantizan estrictamente el orden de los mensajes y previenen la entrega duplicada, pero el rendimiento está limitado a 300 mensajes por segundo (3,000 con procesamiento por lotes).
Colas de mensajes fallidos y tiempo de visibilidad
El tiempo de visibilidad es el período durante el cual un mensaje recuperado se oculta de otros consumidores. Si el procesamiento no se completa dentro de esta ventana, el mensaje vuelve a la cola. Una cola de mensajes fallidos (DLQ) aísla los mensajes que han fallado en el procesamiento un número especificado de veces. Analizar los mensajes de la DLQ ayuda a identificar la causa raíz de los fallos de procesamiento. Para conocimientos prácticos sobre colas de mensajes fallidos y tiempo de visibilidad, los libros de referencia (Amazon) son un recurso útil.
Cómo empezar
En la consola de SQS, seleccione "Crear cola" y elija estándar o FIFO. Envíe mensajes (SendMessage) y reciba mensajes (ReceiveMessage) mediante el SDK de AWS. Configurar Lambda como disparador ejecuta automáticamente una función Lambda cada vez que llega un mensaje. La capa gratuita permanente incluye 1 millón de solicitudes por mes.
Aspectos a tener en cuenta
- Las colas estándar pueden entregar mensajes más de una vez; asegure la idempotencia en el lado del consumidor
- El período máximo de retención de mensajes es de 14 días. Los mensajes se eliminan automáticamente después de ese plazo
- La capa gratuita permanente incluye 1 millón de solicitudes por mes