Agrupación de mensajes de Amazon SNS para temas FIFO - Amazon Simple Notification Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Agrupación de mensajes de Amazon SNS para temas FIFO

Los mensajes que pertenecen al mismo grupo se procesan uno por uno, en un orden estricto relativo al grupo.

Al publicar mensajes en un tema de FIFO de Amazon SNS, debe establecerse el ID del grupo de mensajes. El ID de grupo es un token obligatorio con el que se especifica que un mensaje pertenece a un grupo de mensajes específico. El tema de SNS FIFO pasa el ID de grupo a las colas FIFO de Amazon SQS suscritas. No hay límite en cuanto al número de grupos IDs en los temas de FIFO de SNS o en las colas de FIFO de SQS. El ID del grupo de mensajes no se transfiere a las colas estándar de Amazon SQS.

No hay afinidad entre un grupo de mensajes y una suscripción. Por lo tanto, los mensajes que se publican en cualquier grupo de mensajes se entregan a todas las colas suscritas, sujeto a las políticas de filtro adjuntas a las suscripciones. Para obtener más información, consulte Entrega de mensajes de Amazon SNS para temas FIFO y Filtrado de mensajes de Amazon SNS para temas FIFO.

En el caso de uso de ejemplo de administración de precios de partes de automóviles, hay un grupo de mensajes dedicado para cada producto vendido en la plataforma. El mismo tema FIFO de Amazon SNS se utiliza para procesar todas las actualizaciones de precios. La secuencia de actualizaciones de precios se conserva en el contexto de un solo producto de partes de automóviles, pero no en varios productos. En el siguiente diagrama, se muestra cómo funciona. Tenga en cuenta que, en el caso del producto cuyo ID de grupo de mensajes es product-214, el mensaje m1 se procesa antes que el m4. Esta secuencia se conserva a lo largo de los flujos de trabajo, desde FIFO de Amazon SNS a FIFO de Amazon SQS. Del mismo modo, para el producto cuyo ID de grupo de mensajes es product-799, el mensaje m2 se procesa antes que m3. Sin embargo, cuando se utilizan colas estándar de Amazon SQS, el orden de los mensajes ya no está garantizado y los grupos de mensajes no existen. Los grupos de mensajes product-214 y product-799 son independientes entre sí, por lo que no hay relación entre cómo se secuencian sus mensajes.

Ejemplo de cómo funcionan la ordenación y la deduplicación de mensajes en un escenario temático FIFO de Amazon SNS en el que intervienen Servicios de AWS diferentes grupos de mensajes. IDs Muestra el flujo de mensajes desde las funciones de Lambda a través de un tema FIFO de Amazon SNS hasta varios tipos de colas de Amazon SQS (FIFO y estándar), manteniendo un orden estricto en las colas FIFO y demostrando el posible desorden en las colas estándar. Esta configuración se utiliza para enfatizar la importancia de la secuenciación de mensajes en aplicaciones como las actualizaciones de precios en una plataforma de comercio electrónico, haciendo especial hincapié en cómo cada grupo de mensajes mantiene su orden independientemente de los distintos servicios del consumidor.

Distribuir los datos por grupo IDs de mensajes para mejorar el rendimiento

Para optimizar el rendimiento de la entrega, los temas FIFO de Amazon SNS entregan mensajes de diferentes grupos de mensajes en paralelo, mientras que el orden de los mensajes se mantiene estrictamente dentro de cada grupo de mensajes. Cada grupo de mensajes individual puede entregar un máximo de 300 mensajes por segundo. Por lo tanto, para lograr un alto rendimiento para un solo tema, utilice una gran cantidad de grupos IDs de mensajes distintos. Al utilizar un conjunto diverso de grupos de mensajes, los temas FIFO de Amazon SNS distribuyen automáticamente los mensajes entre un mayor número de particiones paralelas.

nota

Los temas FIFO de Amazon SNS están optimizados para una distribución uniforme de los mensajes entre los grupos de mensajes IDs, independientemente del número de grupos. AWS recomienda utilizar un gran número de grupos de mensajes distintos IDs para optimizar el rendimiento.

Al publicar en el tema FIFO de Amazon SNS con un rendimiento alto y una o más colas FIFO de Amazon SQS estén suscritas, se recomienda que habilite el rendimiento alto en las colas. Para obtener más información, consulte Rendimiento alto de las colas FIFO en la Guía para desarrolladores de Amazon Simple Queue Service.