Types de SQS files d'attente Amazon - 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.

Types de SQS files d'attente Amazon

Amazon SQS prend en charge deux types de files d'attente : les files d'attente standard et FIFOles files d'attente. Utilisez les informations du tableau suivant pour choisir la file d'attente adaptée à votre situation. Pour en savoir plus sur les SQS files d'attente Amazon, consultez Files d'attente standard Amazon SQS etFiles d'SQSFIFOattente Amazon.

Files d'attente standard FIFOfiles d'attente

Débit illimité — Les files d'attente standard prennent en charge un nombre très élevé, presque illimité d'APIappels par seconde, par action (SendMessageReceiveMessage, ouDeleteMessage). Ce débit élevé les rend idéaux pour les cas d'utilisation nécessitant le traitement rapide de gros volumes de messages, tels que le streaming de données en temps réel ou les applications à grande échelle. Bien que les files d'attente standard s'adaptent automatiquement à la demande, il est essentiel de surveiller les modèles d'utilisation pour garantir des performances optimales, en particulier dans les régions où les charges de travail sont plus élevées.

At-least-once livraison — at-least-once Livraison garantie, ce qui signifie que chaque message est livré au moins une fois, mais dans certains cas, un message peut être délivré plusieurs fois en raison de nouvelles tentatives ou de retards sur le réseau. Vous devez concevoir votre application de manière à gérer les messages dupliqués potentiels en utilisant des opérations idempotentes, qui garantissent que le traitement du même message à plusieurs reprises n'affectera pas l'état du système.

Commande dans les meilleurs délais : permet de passer des commandes dans les meilleurs délais, ce qui signifie qu'Amazon SQS essaie de livrer les messages dans la commande dans laquelle ils ont été envoyés, elle ne le garantit pas. Dans certains cas, les messages peuvent arriver dans le mauvais ordre, notamment en cas de débit élevé ou de reprise après échec. Pour les applications où l'ordre de traitement des messages est crucial, vous devez gérer la logique de réorganisation au sein de l'application ou utiliser des FIFO files d'attente pour des garanties de commande strictes.

Durabilité et redondance : les files d'attente standard garantissent une durabilité élevée en stockant plusieurs copies de chaque message dans plusieurs AWS zones de disponibilité. Cela garantit que les messages ne sont pas perdus, même en cas de défaillance de l'infrastructure.

Délai de visibilité : Amazon vous SQS permet de configurer un délai de visibilité pour contrôler la durée pendant laquelle un message reste masqué après réception, afin de garantir que les autres consommateurs ne traitent pas le message tant qu'il n'a pas été entièrement traité ou que le délai d'expiration n'est pas expiré.

Haut débit : lorsque vous utilisez le traitement par lots, les FIFO files d'attente traitent jusqu'à 3 000 messages par seconde et par API méthode (SendMessageBatchReceiveMessageBatch, ou). DeleteMessageBatch Ce débit repose sur 300 API appels par seconde, chaque API appel traitant un lot de 10 messages. En activant le mode haut débit, vous pouvez augmenter jusqu'à 30 000 transactions par seconde (TPS) tout en simplifiant l'ordre au sein des groupes de messages. Sans traitement par lots, les FIFO files d'attente prennent en charge jusqu'à 300 API appels par seconde et par API méthode (SendMessageReceiveMessage, ouDeleteMessage). Si vous avez besoin d'un débit supérieur, vous pouvez demander une augmentation de quota via le AWS Support Center. Pour activer le mode haut débit, voir. Permettre un débit élevé pour les files d'attente FIFO dans Amazon SQS

Traitement en une seule fois : les FIFO files d'attente transmettent chaque message une fois et le gardent disponible jusqu'à ce que vous le traitiez et le supprimiez. En utilisant des fonctionnalités telles que la déduplication basée sur le contenu, vous évitez les doublons, même en cas de nouvelle tentative en raison de problèmes de réseau MessageDeduplicationId ou de délais d'attente.

First-in-first-out livraison : les FIFO files d'attente garantissent que vous recevez les messages dans l'ordre dans lequel ils sont envoyés au sein de chaque groupe de messages. En répartissant les messages entre plusieurs groupes, vous pouvez les traiter en parallèle tout en maintenant l'ordre au sein de chaque groupe.

Livraison de messages de file d'attente standard.
FIFOlivraison des messages en file d'attente.
Utilisez des files d'attente standard pour envoyer des données entre applications lorsque le débit est crucial, par exemple :
  • Dissociez les demandes des utilisateurs en direct d'un travail de fond intensif. Permettez aux utilisateurs de télécharger rapidement du contenu multimédia pendant que vous effectuez des tâches telles que le redimensionnement ou l'encodage en arrière-plan, garantissant ainsi des temps de réponse rapides sans surcharger le système.

  • Allouez des tâches à plusieurs nœuds de travail. Répartissez un grand nombre de demandes de validation de carte de crédit sur plusieurs nœuds de travail et gérez les messages dupliqués avec des opérations idempotentes afin d'éviter les erreurs de traitement.

  • Messages par lots pour un traitement futur. Mettez en file d'attente plusieurs entrées pour les ajouts par lots à une base de données. L'ordre des messages n'étant pas garanti, concevez votre système pour qu'il gère out-of-order le traitement si nécessaire.

Utilisez les FIFO files d'attente pour envoyer des données entre applications lorsque l'ordre des événements est important, par exemple :

  • Assurez-vous que les commandes saisies par l'utilisateur sont exécutées dans le bon ordre. Il s'agit d'un cas d'utilisation clé pour les FIFO files d'attente, où l'ordre des commandes est crucial. Par exemple, si un utilisateur exécute une séquence d'actions dans une application, les FIFO files d'attente garantissent que les actions sont traitées dans l'ordre dans lequel elles ont été saisies.

  • Affichez le prix correct du produit en envoyant les modifications de prix dans le bon ordre. FIFOles files d'attente garantissent que plusieurs mises à jour du prix d'un produit arrivent et sont traitées de manière séquentielle. Dans FIFO le cas contraire, une réduction de prix peut être traitée après une augmentation de prix, entraînant l'affichage de données incorrectes.

  • Empêcher un étudiant de s'inscrire à un cours avant de créer un compte. En utilisant des FIFO files d'attente, vous vous assurez que le processus d'enregistrement se déroule dans le bon ordre. Le système traite d'abord l'enregistrement du compte, puis l'inscription au cours, empêchant ainsi l'exécution prématurée de la demande d'inscription.