Détails d'ordre des messages pour les rubriques FIFO - Amazon Simple Notification Service

Détails d'ordre des messages pour les rubriques FIFO

Une rubrique FIFO Amazon SNS distribue des messages aux files d'attente FIFO Amazon SQS abonnées dans l'ordre exact dans lequel les messages sont publiés dans la rubrique. Avec une file d'attente FIFO SQS, les consommateurs des files d'attente reçoivent les messages dans l'ordre exact dans lequel les messages sont envoyés à la file d'attente. Cette configuration préserve l'ordre des messages de bout en bout, comme illustré dans l'exemple suivant basé sur le Cas d'utilisation d'exemple de rubrique FIFO.


        Distribution de messages strictement ordonnée dans une plateforme de e-commerce de pièces automobiles.

Notez qu'il n'y a pas d'ordre implicite des abonnés. L'exemple suivant montre que le message m1 est distribué d'abord à l'abonné de gros, puis à l'abonné de détail. Le message m2 est distribué d'abord à l'abonné de détail, puis à l'abonné de gros. Bien que les deux messages soient distribué aux abonnés dans un ordre différent, l'ordre des messages est conservé pour chaque abonné. Chaque abonné est perçu indépendamment de tout autre abonné.


        Distribution de messages strictement ordonnée pour chaque abonné.

Si un abonné de file d'attente FIFO SQS devient inaccessible, il peut se désynchroniser. Par exemple, supposons que le propriétaire de la file d'attente d'application de gros modifie par erreur la politique de file d'attente Amazon SQS d'une manière qui empêche le principal de service Amazon SNS de distribuer des messages à la file d'attente. Dans ce cas, les mises à jour des prix de gros ne sont pas distribuées, mais les mises à jour des prix de détail le sont, ce qui entraîne une désynchronisation des abonnés. Lorsque le propriétaire de la file d'attente de l'application de gros corrige la politique de file d'attente, Amazon SNS reprend la distribution des messages à la file d'attente abonnée. Tous les messages qui ont été publiés dans la rubrique pendant que la file d'attente n'était pas été correctement configurée sont supprimés, sauf si l'abonnement dispose d'une file d'attente de lettres mortes configurée.


        L'abonné de la file d'attente de gros devient temporairement inaccessible.

Vous pouvez avoir plusieurs applications (ou plusieurs threads au sein d'une même application) qui publient des messages vers une rubrique FIFO SNS en parallèle. Lorsque vous effectuez cette opération, vous déléguez effectivement le séquençage des messages au service Amazon SNS. Pour déterminer la séquence de messages établie, vous pouvez vérifier le numéro de séquence.

Le numéro de séquence est un grand numéro nombre, non consécutif et toujours croissant qu'Amazon SNS attribue à chaque message que vous publiez. Le numéro de séquence est transmis aux files d'attente FIFO SQS abonnées dans le corps du message. Toutefois, si vous activez la distribution de messages bruts, le message qui est distribué à la file d'attente FIFO SQS n'inclut pas le numéro de séquence ou d'autres métadonnées de message SNS.


        Amazon SNS attribue un numéro de séquence unique à chaque message et transmet le numéro de séquence à Amazon SQS.

Les rubriques FIFO d'Amazon SNS définissent l'ordre dans le contexte d'un groupe de messages. Pour de plus amples informations, veuillez consulter . Regroupement de messages pour les rubriques FIFO.