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.
Qu'est-ce qu'Amazon Simple Queue Service ?
Amazon Simple Queue Service (Amazon SQS) offre une file d'attente hébergée sécurisée, durable et disponible qui vous permet d'intégrer et de découpler les systèmes et les composants de logiciels distribués. Amazon SQS propose des structures communes, telles que des files d'attente de lettres mortes et des balises de répartition des coûts. Il fournit une API de services Web générique à laquelle vous pouvez accéder à l'aide de n'importe quel langage de programmation pris en charge par le AWS SDK.
Avantages offerts par l'utilisation d'Amazon SQS
-
Sécurité : vous pouvez contrôler qui peut envoyer et recevoir des messages à partir d'une file d'attente Amazon SQS. Vous pouvez choisir de transmettre des données sensibles en protégeant le contenu des messages dans les files d'attente grâce au chiffrement côté serveur (SSE) géré par Amazon SQS par défaut ou grâce aux clés SSE personnalisées gérées dans AWS Key Management Service (AWS KMS).
-
Durabilité : pour assurer la sécurité de vos messages, Amazon SQS les stocke sur plusieurs serveurs. Les files d'attente standard prennent en charge la remise de messages au moins une fois, tandis que les files d'attente FIFO prennent en charge le traitement des messages en une seule fois et le mode haut débit.
-
Disponibilité : Amazon SQS utilise une infrastructure redondante pour fournir un accès extrêmement simultané aux messages, et une haute disponibilité pour la production et la consommation des messages.
-
Capacité de mise à l'échelle : Amazon SQS peut traiter chaque demande mise en mémoire tampon de façon indépendante, en se mettant à l'échelle de manière transparente pour gérer les augmentations et les pics de charge sans aucune instruction de mise en service.
-
Fiabilité : Amazon SQS verrouille vos messages pendant le traitement pour que plusieurs producteurs puissent envoyer des messages et que plusieurs consommateurs puissent recevoir des messages en même temps.
-
Personnalisation : vos files d'attente n'ont pas à être parfaitement identiques. Par exemple, vous pouvez définir un retard par défaut sur une file d'attente. Vous pouvez stocker le contenu des messages d'une taille supérieure à 1 Mo à l'aide d'Amazon Simple Storage Service (Amazon S3) ou d'Amazon DynamoDB, Amazon SQS contenant un pointeur vers l'objet Amazon S3, ou vous pouvez diviser un message volumineux en messages plus petits.
Architecture de base Amazon SQS
Cette section décrit les composants d'un système de messagerie distribué et explique le cycle de vie d'un message Amazon SQS.
Files d'attente distribuées
Un système de messagerie distribué comprend trois parties principales : les composants de votre système distribué, votre file d'attente (distribuée sur les serveurs Amazon SQS) et les messages de la file d'attente.
Dans le scénario suivant, le système comprend plusieurs producteurs (composants qui envoient des messages à la file d'attente) et plusieurs consommateurs (composants qui reçoivent des messages de la file d'attente). La file d'attente (qui contient les messages A à E) stocke les messages de manière redondante sur plusieurs serveurs Amazon SQS.
Cycle de vie des messages
Le scénario suivant décrit le cycle de vie d'un message Amazon SQS dans une file d'attente, de sa création à sa suppression.
Un producteur (composant 1) envoie le message A à une file d'attente, et le message est distribué de manière redondante sur les serveurs Amazon SQS.
Lorsqu'un consommateur (composant 2) est prêt à traiter des messages, il consomme les messages de la file d'attente et le message A est renvoyé. Pendant son traitement, le message A reste dans la file d'attente et n'est pas renvoyé aux demandes de réception suivantes pendant la durée du délai de visibilité.
Le consommateur (composant 2) supprime le message A de la file d'attente pour empêcher que le message ne soit reçu et traité à nouveau à l'expiration du délai de visibilité.
Note
Amazon SQS supprime automatiquement d'une file d'attente les messages qui dépassent la période maximale de conservation des messages. La période de conservation des messages par défaut est de 4 jours. Cependant, vous pouvez configurer la période de rétention des messages sur une valeur allant de 60 secondes à 1 209 600 secondes (14 jours) avec SetQueueAttributes
Différences entre Amazon SQS, Amazon MQ et Amazon SNS
Amazon SQS, Amazon SNS
Amazon SQS découple et fait évoluer les systèmes logiciels distribués et les composants en tant que service de file d'attente. Il traite généralement les messages par l'intermédiaire d'un seul abonné, ce qui est idéal pour les flux de travail où la commande et la prévention des pertes sont essentielles. Pour une diffusion plus large, l'intégration d'Amazon SQS à Amazon SNS permet de créer un modèle de messagerie fanout
Amazon SNS permet aux éditeurs d'envoyer des messages à plusieurs abonnés par le biais de sujets, qui font office de canaux de communication. Les abonnés reçoivent les messages publiés à l'aide d'un type de point de terminaison pris en charge Amazon Data Firehose, tel qu'Amazon SQS, Lambda, HTTP, des e-mails, des notifications push mobiles et des SMS mobiles. Ce service est idéal pour les scénarios nécessitant des notifications immédiates, tels que l'engagement des utilisateurs en temps réel ou les systèmes d'alarme. Pour éviter la perte de messages lorsque les abonnés sont hors ligne, l'intégration d'Amazon SNS aux messages de la file d'attente Amazon SQS garantit une diffusion cohérente.
Amazon MQ convient parfaitement aux entreprises qui souhaitent migrer depuis les courtiers de messages traditionnels, en prenant en charge les protocoles de messagerie standard tels que AMQP et MQTT, ainsi qu'Apache ActiveMQ et RabbitMQ.
Le tableau suivant donne un aperçu du type de ressource de chaque service :
| Type de ressource | Amazon SNS | Amazon SQS | Amazon MQ |
|---|---|---|---|
| Synchrone | Non | Non | Oui |
| Asynchrone | Oui | Oui | Oui |
| Files d'attente | Non | Oui | Oui |
| Publisher-subscriber messagerie | Oui | Non | Oui |
| Agents de messages | Non | Non | Oui |
Amazon SQS et Amazon SNS sont recommandés pour les nouvelles applications qui peuvent bénéficier d'une capacité de mise à l'échelle presque illimitée et d'API simples. Ils proposent généralement des solutions plus rentables pour les applications à volume élevé grâce à leur tarification à l'utilisation. Nous recommandons Amazon MQ pour la migration d'applications à partir de courtiers de messages existants qui reposent sur la compatibilité avec des API telles que JMS ou des protocoles tels que Advanced Message Queuing Protocol (AMQP), MQTT et Simple Text Oriented Message Protocol ( OpenWireSTOMP).