Agrupamento de mensagens para tópicos FIFO - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Agrupamento de mensagens para tópicos FIFO

As mensagens que pertencem ao mesmo grupo são processadas uma a uma, em uma ordem estrita em relação ao grupo.

Ao publicar mensagens em um tópico FIFO do Amazon SNS, você define o ID do grupo de mensagens. O ID do grupo é um token obrigatório que determina que uma mensagem pertence a um grupo de mensagens específico. O tópico FIFO do SNS passa o ID do grupo para as filas FIFO inscritas do Amazon SQS. Não há limite para o número de IDs de grupo em tópicos FIFO do SNS ou filas FIFO do SQS. O ID do grupo de mensagens não é passado para filas padrão do Amazon SQS.

Não há afinidade entre um grupo de mensagens e uma assinatura. Portanto, as mensagens publicadas em qualquer grupo de mensagens são entregues a todas as filas inscritas, sujeitas a quaisquer políticas de filtro anexadas a assinaturas. Para obter mais informações, consulte Entrega de mensagens para tópicos FIFO e Filtragem de mensagens para tópicos FIFO.

No exemplo de caso de uso de gerenciamento de preços de peças automotivas, há um grupo de mensagens dedicado para cada produto vendido na plataforma. O mesmo tópico FIFO do Amazon SNS é usado para processar todas as atualizações de preços. A sequência de atualizações de preços é preservada no contexto de um único produto de peças automotivas, mas não em vários produtos. O diagrama a seguir mostra como isso funciona. Observe que, para o produto cujo ID de grupo de mensagens é product-214, a mensagem m1 é processada antes da mensagem m4. Essa sequência é preservada em todos os fluxos de trabalho que usam FIFO do Amazon SNS a FIFO do Amazon SQS. Da mesma forma, para o produto cujo ID de grupo de mensagens é product-799, a mensagem m2 é processada antes da mensagem m3, desde que os fluxos de trabalho usem FIFO do Amazon SNS e FIFO do Amazon SQS. No entanto, ao usar as filas padrão do Amazon SQS, a ordem das mensagens não é mais garantida e os grupos de mensagens não existem. Os grupos de mensagens product-214 e product-799 são independentes entre si, portanto, não há relação entre a forma como as mensagens são sequenciadas.

As mensagens são processadas em uma ordem estrita em relação ao grupo de mensagens.

Distribuição de dados por IDs de grupo de mensagens para melhor desempenho

Para otimizar o throughput de entrega, os tópicos FIFO do Amazon SNS entregam mensagens de diferentes grupos de mensagens em paralelo, enquanto a ordem das mensagens é estritamente mantida dentro de cada grupo de mensagens. Cada grupo de mensagens individual pode entregar no máximo 300 mensagens por segundo. Portanto, para obter alto throughput para um único tópico, use um grande número de IDs de grupos de mensagens distintos. Ao utilizar um conjunto diversificado de grupos de mensagens, os tópicos FIFO do Amazon SNS distribuem automaticamente as mensagens em um número maior de partições paralelas.

nota

Os tópicos FIFO do Amazon SNS são otimizados para distribuição uniforme de mensagens entre IDs de grupos de mensagens, independentemente do número de grupos. A AWS recomenda que você use um grande número de IDs de grupos de mensagens distintas para otimizar o desempenho.

Ao publicar em seu tópico FIFO do Amazon SNS com alto throughput e uma ou mais filas FIFO do Amazon SQS estarem assinadas, é recomendável que você habilite o alto throughput nas filas. Para obter mais informações, consulte Alta taxa de transferência para filas FIFO no Guia do desenvolvedor do Amazon Simple Queue Service.