Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Logique de distribution des files d'attente FIFO dans Amazon SQS

Mode de mise au point
Logique de distribution des files d'attente FIFO dans 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.

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.

Les concepts suivants expliquent comment les files d'attente FIFO Amazon SQS gèrent l'envoi et la réception de messages, en particulier lorsqu'il s'agit de l'ordre des messages et des groupes de messages. IDs

Envoi de messages

Les files d'attente FIFO Amazon SQS préservent l'ordre des messages grâce à une IDs déduplication et à un groupe de messages uniques. IDs Cette rubrique met en lumière l'importance du groupe de messages IDs pour maintenir un ordre strict au sein des groupes et met en évidence les meilleures pratiques pour garantir une diffusion fiable et ordonnée des messages entre plusieurs producteurs.

  1. Conservation des commandes

    • Lorsque plusieurs messages sont envoyés successivement à une file d'attente FIFO avec déduplication unique des messages IDs, Amazon SQS les stocke et accuse réception de leur transmission. Ces messages sont ensuite reçus et traités dans l'ordre exact dans lequel ils ont été transmis.

  2. ID de groupe de messages

    • Dans les files d'attente FIFO, les messages sont classés en fonction de leur ID de groupe de messages. Si plusieurs producteurs ou fils de discussion envoient des messages avec le même identifiant de groupe de messages, Amazon SQS garantit qu'ils sont stockés et traités dans l'ordre dans lequel ils arrivent.

    • Bonne pratique : pour garantir un ordre strict des messages entre plusieurs producteurs, attribuez un identifiant de groupe de messages unique à tous les messages de chaque producteur.

  3. Commande par groupe

    • La logique de file d'attente FIFO s'applique par ID de groupe de messages :

      • Chaque ID de groupe de messages représente un groupe de messages distinct et ordonné.

      • Au sein d'un ID de groupe de messages, tous les messages sont envoyés et reçus dans un ordre strict.

      • Les messages appartenant à des groupes de messages différents IDs peuvent arriver ou être traités dans un ordre désordonné les uns par rapport aux autres.

    • Exigence - Vous devez associer un ID de groupe de messages à chaque message. Si un message est envoyé sans identifiant de groupe, l'action échoue.

    • Scénario de groupe unique : si vous souhaitez que tous les messages soient traités dans un ordre strict, utilisez le même identifiant de groupe de messages pour chaque message.

Réception de messages

Les files d'attente FIFO Amazon SQS gèrent la récupération des messages, y compris le traitement par lots, les garanties des commandes FIFO et les limites relatives aux demandes de groupes de messages spécifiques. IDs Cette rubrique explique comment Amazon SQS récupère les messages au sein et entre les groupes de messages IDs tout en respectant des règles strictes de classement et de visibilité.

  1. Récupération par lots

    • Lors de la réception de messages provenant d'une file d'attente FIFO comportant plusieurs groupes de messages IDs, Amazon SQS :

      • Tente de renvoyer autant de messages que possible avec le même ID de groupe de messages au cours d'un seul appel.

      • Permet aux autres consommateurs de traiter IDs simultanément les messages provenant de différents groupes de messages.

    • Clarification importante

      • Vous pouvez recevoir plusieurs messages du même identifiant de groupe de messages en un seul lot (jusqu'à 10 messages par appel en utilisant le MaxNumberOfMessages paramètre).

      • Cependant, vous ne pouvez pas recevoir de messages supplémentaires provenant du même identifiant de groupe de messages dans les demandes suivantes tant que :

        • Les messages actuellement reçus sont supprimés, ou

        • Ils redeviennent visibles (par exemple, une fois le délai de visibilité expiré).

  2. Garantie de commande FIFO

    • Les messages extraits par lots conservent leur ordre FIFO au sein du groupe.

    • Si moins de 10 messages sont disponibles pour le même ID de groupe de messages, Amazon SQS peut inclure des messages provenant d'autres groupes de messages IDs dans le même lot, mais chaque groupe conserve l'ordre FIFO.

  3. Limites applicables aux consommateurs

    • Vous ne pouvez pas demander explicitement à recevoir des messages provenant d'un identifiant de groupe de messages spécifique.

Multiples nouvelles tentatives

Les producteurs et les consommateurs peuvent réessayer en toute sécurité les actions qui ont échoué dans les files d'attente FIFO Amazon SQS sans perturber l'ordre des messages ni introduire de doublons. Cette rubrique explique comment les délais de déduplication IDs et de visibilité garantissent l'intégrité des messages lors des nouvelles tentatives.

  1. Réessaie le producteur

    • Si une SendMessageaction échoue, le producteur peut réessayer d'envoyer le message plusieurs fois avec le même identifiant de déduplication.

    • Tant que le producteur reçoit au moins un accusé de réception avant l'expiration de l'intervalle de déduplication, il réessaie :

      • N'introduisez pas de messages dupliqués.

      • Ne perturbez pas l'ordre des messages.

  2. Réessaie par le consommateur

    • Si une ReceiveMessageaction échoue, le consommateur peut réessayer autant de fois que nécessaire en utilisant le même identifiant de tentative de demande de réception.

    • Tant que le consommateur reçoit au moins un accusé de réception avant l'expiration du délai de visibilité, il réessaie :

      • Ne perturbez pas l'ordre des messages.

Remarques supplémentaires sur le comportement du FIFO

Découvrez comment gérer les délais de visibilité, activer le traitement parallèle avec plusieurs groupes de messages et garantir un traitement séquentiel strict dans les scénarios à groupe IDs unique.

  1. Gestion du délai de visibilité

    • Lorsqu'un message est récupéré mais non supprimé, il reste invisible jusqu'à l'expiration du délai de visibilité.

    • Aucun message supplémentaire provenant du même identifiant de groupe de messages n'est renvoyé tant que le premier message n'est pas supprimé ou ne redevient visible.

  2. Traitement simultané et parallélisme

    • Les files d'attente FIFO permettent le traitement parallèle des messages entre différents groupes de messages. IDs

    • Pour optimiser la simultanéité, concevez votre système avec plusieurs groupes de messages IDs pour des flux de travail indépendants.

  3. Scénarios de groupe unique

    • Pour un traitement séquentiel strict de tous les messages d'une file d'attente FIFO, utilisez un identifiant de groupe de messages unique pour tous les messages de la file d'attente.

Exemples pour mieux comprendre

Les scénarios pratiques suivants illustrent le comportement des files d'attente FIFO dans Amazon SQS.

  1. Scénario 1 : ID de groupe unique

    • Un producteur envoie cinq messages avec le même identifiant de groupe de messages (groupe A).

    • Le consommateur reçoit ces messages dans l'ordre FIFO. Jusqu'à ce que le consommateur supprime ces messages ou que le délai de visibilité expire, aucun message supplémentaire du groupe A n'est reçu.

  2. Scénario 2 : groupe multiple IDs

    • Un producteur envoie cinq messages au groupe A et 5 au groupe B.

    • Le consommateur 1 traite les messages du groupe A, tandis que le consommateur 2 traite les messages du groupe B. Cela permet un traitement parallèle avec un ordre strict maintenu au sein de chaque groupe.

  3. Scénario 3 : extraction par lots

    • Un producteur envoie sept messages au groupe A et trois au groupe B.

    • Un seul client peut récupérer jusqu'à 10 messages. Si la file d'attente le permet, elle peut renvoyer :

      • Sept messages du groupe A et trois du groupe B (ou moins si moins de messages sont disponibles dans un seul groupe).

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.