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.
Passer d'une file d'attente standard à une FIFO file d'attente sur Amazon SQS
Si votre application existante utilise des files d'attente standard et que vous souhaitez tirer parti des fonctionnalités de commande ou de traitement des FIFO files d'attente en une seule fois, vous devez configurer correctement la file d'attente et votre application.
Considérations clés
-
Création FIFO d'une file d'attente : vous ne pouvez pas convertir une file d'attente standard existante en FIFO file d'attente. Vous devez soit créer une nouvelle FIFO file d'attente pour votre application, soit supprimer la file standard existante et la recréer en tant que FIFO file d'attente.
-
Paramètre de délai : les FIFO files d'attente ne prennent pas en charge les délais par message, mais uniquement les délais par file d'attente. Si votre application définit le
DelaySeconds
paramètre pour chaque message, vous devez le modifier pour le définirDelaySeconds
sur l'ensemble de la file d'attente. -
ID de groupe de messages : fournissez un identifiant de groupe de messages pour chaque message envoyé. Cet identifiant permet le traitement parallèle des messages tout en conservant leur ordre respectif. Utilisez une dimension commerciale granulaire pour l'identifiant du groupe de messages afin de mieux l'adapter aux FIFO files d'attente. Plus les groupes de messages IDs auxquels vous distribuez des messages sont nombreux, plus le nombre de messages disponibles à la consommation augmente.
-
Mode haut débit : utilisez le mode haut débit recommandé pour les FIFO files d'attente afin d'augmenter le débit. Pour plus d'informations sur les quotas de messagerie, consultezQuotas de SQS messages Amazon.
Liste de contrôle pour passer aux files d'attente FIFO
Avant d'envoyer des messages à une FIFO file d'attente, vérifiez les points suivants :
-
Configuration des paramètres de délai
-
Modifiez votre application pour supprimer les délais par message.
-
Définissez le
DelaySeconds
paramètre sur l'ensemble de la file d'attente.
-
-
Définir le groupe de messages IDs
-
Organisez les messages en groupes de messages en spécifiant un identifiant de groupe de messages basé sur une dimension commerciale.
-
Utilisez des dimensions commerciales plus granulaires pour améliorer l'évolutivité.
-
-
Gérer la déduplication des messages
-
Si votre application peut envoyer des messages avec des corps de message identiques, fournissez un identifiant de déduplication unique pour chaque message.
-
Si votre application envoie des messages avec des corps de message uniques, activez la déduplication basée sur le contenu.
-
-
Configurer le consommateur
-
En général, aucune modification de code n'est nécessaire pour le consommateur.
-
Si le traitement des messages prend du temps et que le délai de visibilité est élevé, pensez à ajouter un identifiant de tentative de demande de réception à chaque
ReceiveMessage
action. Cela permet de réessayer les tentatives de réception en cas de défaillance du réseau et d'éviter que les files d'attente ne s'interrompent en cas d'échec des tentatives de réception.
-
En suivant ces étapes, vous pouvez vous assurer que votre application fonctionne correctement avec les FIFO files d'attente, en tirant pleinement parti des fonctionnalités de commande et de traitement en une seule fois. Pour des informations plus détaillées, consultez le Amazon Simple Queue Service API Reference.