🥇 Amazon SQS (Simple Queue Service)

🍿 ¿Cuáles son las características de SQS?

  • Simple SQS es el servicio mas antiguo ofrecido por AWS.
  • Puede ser invocado por un componente y consumido por otro.

🍿 ¿Cuáles son las ventajas de utilizar SQS?

  • Se desacoplan los componentes de una aplicacion de forma que corran de manera independiente.
  • Cualquier componente puede guardar mensajes en un estado a prueba de fallos.
  • Los mensajes pueden contener hasta 256K de text en cualquier formato.
  • Cualquier componente puede retraer los mensajes de manera automatizada utilizando la API de Amazon SQS.
  • La lista actúa como un buffer entre el componente produciendo y el componente reciviendo los datos.
  • Es posible escalar arriba y abajo el número de componentes recibiendo los datos basado en un punto del tiempo la dimensión de la lista.

🍿 ¿Cuáles son los tipos de Queue (listas) que existen?

🥤 Standard Queue (default)

  • Soporta un número ilimitado de transacciones por segundo.
  • Intenta proveer en la medida de lo posible los mensajes en el orden en el que fueron provistos.
  • Ocasionalmente en sistemas de gran demandan, mas de una copia del mensaje puede ser consumida fuera del orden originalmente provisto.

🥤 FIFO Queues (First-in First-out)

  • Los mensajes son entregados exactamente en el orden en el que se recibieron.
  • Los mensajes se preservan hasta que el componente que los consume termina de procesarlos, entonces son borrados.
  • Los duplicados no son introducidos en la lista.
  • Soporta grupos de mensajes que permiten grupos de mensajes ordenados de diferentes formas dentro de una misma cola (queue).
  • Es limitado a 300 transacciones por segundo.
  • Tiene todas las capacidades de una standard queue.

🍿 Factores a tomar en cuenta

  • SQS es pull based, no pushed based, esta basado en extracción de datos no en inserción.
  • Los mensajes están limitados a 256K en cualquier formato.
  • Los tiempo limite que mensajes se mantienen en la cola puede ser de 1 min a 14 días (el valor por default son 4 días).
  • El timeout visibility (tiempo máximo de visibilidad) es el tiempo que toma a un mensaje mantenerse invisible a la cola de SQS después de que un lector retrae el mensaje.
  • El timeout máximo son 12 horas.
  • Amazon SQS LongPolling es una forma de retraer mensajes desde la cola, hasta que un nuevo mensaje sea depositado o se exceda un long poll timeout.