¿Cuáles son los mejores ejemplos de uso ‘masivo’ de SQS? ¿Cuáles son los parámetros?

Al considerar una solución de cola de mensajes, debe tener en cuenta los siguientes parámetros

  1. Durabilidad: si los mensajes pueden escribirse en el disco, o incluso enviarse a aDBMS para mayor confiabilidad en caso de fallas del servidor.
  2. Punto-punto frente a publicación-suscripción: si el proveedor de colas de mensajes admite el modo de entrega punto-punto o publicación-suscripción
  3. Modelo Push vs Pull: si los consumidores tienen que tirar de los mensajes o si el corredor envía los mensajes a los consumidores.
  4. Reconocimientos de mensajes: si los modos de reconocimiento de mensajes son compatibles entre consumidores, corredores y productores.
  5. Políticas de entrega: si un mensaje debe entregarse al menos una vez, o no más de una vez.
  6. Políticas de depuración: si las colas o los mensajes admiten un “tiempo de vida”.
  7. Tamaño / formato del mensaje : qué tamaños y tipos de mensajes son compatibles.
  8. Políticas de enrutamiento / filtrado de mensajes : si los mensajes se pueden filtrar para que un consumidor pueda ver solo los mensajes que coinciden con algunos criterios de interés y los mensajes se pueden enrutar a los consumidores en función de políticas definidas
  9. Pedido de mensajes: si los mensajes se entregan a los consumidores en un pedido FIFO o no.
  10. Políticas de procesamiento por lotes: en caso de que los mensajes se entreguen de inmediato, o si el sistema espera un poco e intenta entregar muchos mensajes a la vez.
  11. Escalabilidad: en qué orden de rendimiento, latencia y volumen de colas, se admiten mensajes.
  12. Disponibilidad: ¿El sistema de colas admite alta disponibilidad en caso de fallas de los servidores?
  13. Costo operativo y financiero: si la solución incurre en alguna carga financiera u operativa
  14. Interoperabilidad multiplataforma: si la solución funciona en servicios / sistemas dispares, ya sea de diferentes empresas / empresas o dentro de la empresa, para intercambiar fácilmente mensajes entre sí, independientemente del proveedor y la plataforma del agente de mensajes.

Fuente de información Comunicación asincrónica en SOA / MSA

No sé ‘masivo’, pero para uno de nuestros clientes estamos procesando objetos a los que accede el usuario (a través de un teléfono inteligente). Cada acceso a objetos se agrega a una cola, para ser procesado en un formulario que se puede agregar a un DB / Index. Usamos el índice para algunas de las funciones de búsqueda.

Tenemos varios millones de mensajes por día para una cola. Procesamos mensajes con un cuadro, y la mayoría de las veces la cola está relativamente vacía. A veces (con fallas o mantenimiento) la cola se llenará rápidamente, con varios cientos de miles de mensajes. Que se procesan nuevamente cuando el “consumidor de mensajes” vuelve a estar en línea.

Estamos planeando migrar otra aplicación a SQS. En esta aplicación, la cola tendrá que recibir miles de mensajes por segundo. Los productores de mensajes serán miles de clientes de escritorio / móviles. El mensaje de los consumidores probablemente será una flota EC2 autoescalada, dedicada a esta tarea.

No nos preocupamos por la escalabilidad y disponibilidad. En realidad, SQS es (uno de) los primeros servicios de infraestructura ofrecidos por AWS en 2004. Sospecho que también lo usan para sus actividades minoristas.

Aquí hay algunos ejemplos de grandes empresas que usan SQS Mejorando la nube: colas más eficientes con SQS