Utilisation de l'ID de groupe de messagerie Amazon SQS - Amazon Simple Queue Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'ID de groupe de messagerie Amazon SQS

MessageGroupId est la balise qui spécifie qu'un message appartient à un groupe de messages spécifique. Les messages appartenant au même groupe de messages sont toujours traités un à la fois, dans un ordre strict par rapport au groupe de messages (toutefois, les messages appartenant à des groupes de messages différents peuvent être traités dans le désordre).

Entrelacement de plusieurs groupes de messages classés

Pour entrelacer plusieurs groupes de messages classés au sein d'une seule file d'attente FIFO, utilisez les valeurs d'ID de groupe de messages (par exemple, les données de session de plusieurs utilisateurs). Dans ce scénario, plusieurs consommateurs peuvent traiter la file d'attente, mais les données de session de chaque utilisateur sont traitées selon la procédure FIFO.

Note

Lorsque les messages qui appartiennent à un ID de groupe de messages particulier sont invisibles, aucun autre consommateur ne peut traiter les messages avec le même ID de groupe de messages.

Éviter de traiter les doublons dans un système avec plusieurs producteurs/consommateurs

Pour éviter de traiter les messages en double dans un système avec plusieurs producteurs et consommateurs où le débit et la latence sont plus importants que le classement, le producteur doit générer un ID de groupe de messages unique pour chaque message.

Note

Dans ce scénario, les doubles sont supprimés. Toutefois, le classement des messages ne peut pas être garanti.

Tout scénario avec plusieurs producteurs et consommateurs augmente le risque de diffuser par inadvertance un message dupliqué, si aucun employé ne traite le message pendant le délai de visibilité et que celui devient accessible à un autre employé.

Éviter d'avoir un nombre important de messages en attente avec le même ID de groupe de messages

Pour les files d'attente FIFO, il peut y avoir un maximum de 20 000 messages en cours (reçus depuis une file d'attente par un consommateur, mais pas encore supprimés de la file d'attente). Si vous atteignez ce quota, Amazon SQS ne renvoie aucun message d'erreur. Une file d'attente FIFO examine les 20 000 premiers messages pour déterminer les groupes de messages disponibles. Cela signifie que si vous avez un arriéré de messages dans un seul groupe de messages, vous ne pouvez pas consommer les messages d'autres groupes de messages envoyés à la file d'attente ultérieurement tant que vous n'avez pas correctement consommé les messages du backlog.

Note

Des messages en attente ayant le même ID de groupe de messages peuvent s'accumuler à cause d'un consommateur qui ne parvient pas à traiter un message. Des problèmes de traitement des messages peuvent se produire en raison d'un problème lié au contenu d'un message ou d'un problème technique avec le consommateur.

Pour déplacer les messages qui ne peuvent pas être traités de manière répétée et pour débloquer le traitement des autres messages ayant le même ID de groupe de messages, envisagez de configurer une stratégie de file d'attente de lettres mortes.

Évitez de réutiliser le même ID de groupe de messages avec des files d'attente virtuelles

Pour éviter que les messages ayant le même ID de groupe de messages envoyés à différentes files d'attente virtuelles avec la même file d'attente d'hôte ne se bloquent mutuellement, évitez de réutiliser le même ID de groupe de messages avec des files d'attente virtuelles.