Agrupación de mensajes 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 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 para la cantidad de ID de grupo en temas de SNS FIFO o colas 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 para temas FIFO y Filtrado de mensajes 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. Observe que, para el producto cuyo ID de grupo de mensajes es product-214, el mensaje m1 se procesa antes que el mensaje m4. Esta secuencia se conserva a lo largo de los flujos de trabajo, desde FIFO de Amazon SNS a FIFO de Amazon SQS. Asimismo, para el producto cuyo ID de grupo de mensajes es product-799, el mensaje m2 se procesa antes que el mensaje m3, siempre que los flujos de trabajo utilicen FIFO de Amazon SNS y FIFO de Amazon SQS. No obstante, al utilizar las 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.

Los mensajes se procesan en un orden estricto en relación con el grupo de mensajes.

Distribución de datos por ID de grupos 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 ID de grupos 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 ID de los grupos de mensajes, independientemente del número de grupos. AWS recomienda utilizar un gran número de ID de grupos de mensajes distintos 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.