#100DíasdeAWS | Día 16 | AWS SQS

#100DíasdeAWS | Día 16 | AWS SQS

Bienvenidos a otro post de la serie 100díasdeAWS

Hoy, hablaremos acerca de AWS SQS.

¿Qué es SQS?

Amazon Simple Queue Service (SQS) es un servicio de cola de mensajes completamente administrado. Le permite desacoplar y escalar sus sistemas distribuidos de aplicaciones de microservicios, así como aplicaciones sin servidor.

Cuando usa SQS, puede almacenar, enviar y recibir mensajes entre componentes de software en cualquier volumen, sin perder ningún mensaje ni requerir que ninguno de sus otros servicios esté disponible.

¿Qué es un sistema de mensajería?

Es posible que esté familiarizado con algunos servicios de mensajería populares (que no son de AWS) como RabbitMQ o Sidekiq. Se utilizan para proporcionar comunicación asíncrona y desacoplar procesos a través de mensajes/eventos de un emisor y un receptor (un productor y un consumidor).

SQS es simplemente el servicio de mensajería administrado de AWS que puede integrar fácilmente con sus aplicaciones para el desacoplamiento y la integración de aplicaciones.

Con SQS puede utilizar dos tipos diferentes de colas de mensajes. Hay preguntas estándar y algo llamado preguntas FIFO.

Las colas estándar ofrecen un rendimiento máximo, ordenamiento de mejor esfuerzo y entrega al menos una vez, y las colas FIFO están diseñadas para garantizar que los mensajes se procesen exactamente una vez, en el orden exacto en que se envían. Dependiendo de su caso de uso, tiene ambas colas diferentes para elegir.

¿Cuándo debería usar colas estándar frente a colas FIFO?

Las colas estándar se pueden utilizar en cualquier escenario, siempre que la aplicación pueda procesar mensajes que llegan más de una vez y desordenados. Separe las solicitudes de los usuarios en vivo del trabajo intensivo en segundo plano: permita que los usuarios carguen medios mientras los redimensionan o los codifican. Asigne tareas a varios nodos trabajadores: procese una gran cantidad de solicitudes de validación de tarjetas de crédito. Mensajes por lotes para procesamiento futuro: programe múltiples entradas para que se agreguen a una base de datos.

Debe usar FIFO Ques cuando:

Las colas FIFO están diseñadas para mejorar la mensajería entre aplicaciones cuando el orden de las operaciones y los eventos es crítico, o cuando no se toleran los duplicados. Asegúrese de que los comandos ingresados por el usuario se ejecuten en el orden correcto. Muestre el precio correcto del producto enviando las modificaciones de precios en el orden correcto. El sondeo es el método en el que recuperamos mensajes de la cola de mensajes.

También hay dos métodos de sondeo diferentes que puede usar para SQS, sondeo largo y sondeo corto.

Sondeo corto: el sondeo corto es la forma predeterminada en que SQS sondea la cola. Esto devuelve mensajes inmediatamente, incluso si la cola de mensajes que se sondea está vacía. Este es en realidad el método de sondeo más costoso, por lo que solo debe usar este método si necesita una respuesta realmente rápida de la cola.

Sondeo largo: espera hasta que los mensajes lleguen a la cola o espera hasta que algo llame el tiempo de espera del sondeo largo. Esta es una forma mucho menos costosa de recuperar mensajes de la cola porque reduce la cantidad de recepciones vacías que obtendrá.

La mayoría de los casos pueden usar el sondeo largo, por lo que esta es una forma ingeniosa de ahorrar dinero en su caso de uso de SQS.

Este ha sido un breve resumen de los componentes clave de SQS, un servicio realmente útil.

Referencias

Post original de Jack Lavelle