Intégration d'applicationsService régional
SQS (Simple Queue Service) & SNS (Simple Notification Service)
Permet de mettre en file d’attente ou de diffuser des messages entre applications de façon scalable et fiable
Cette fiche couvre 2 services : SQS, SNS.
SQS
- Modèle de queuing : le producteur écrit, le consommateur lit (polling)
- Deux types de polling : court (par défaut) et long (recommandé)
- Durée de rétention des messages : 4j (configurable jusqu’à 14j)
- Taille maximum d’un message : 256 ko
- Visibility timeout : empêche qu’un message soit traité en double
- Sécurité : chiffrement en transit (TLS), au repos avec KMS
Types de queue
- Deux types de queue : standard et FIFO (First In First Out)
| Caractéristique | Standard | FIFO |
|---|---|---|
| Ordre | Best effort | Strict |
| Duplication | Possible | Aucune |
| Débit max | Illimité | 3 000/s |
| Coûts | Moins cher | Plus cher |
La propriété messageDeduplicationId permet d’éviter la duplication sur une queue FIFO
La propriété messageGroupId permet de garantir l’ordre (au sein du groupe) sur une queue FIFO
SNS
- Modèle pub/sub : un message produit est immédiatement poussé à tous les abonnés
- Intégration avec d’autres services : SQS, Lambda, HTTPS, email, SMS, Kinesis Firehose…
- Taille max message : 256 Ko (jusqu’à 2 Go via S3 payload)
- Sécurité : chiffrement en transit (TLS), au repos avec KMS
- Filter policies : routage conditionnel de messages vers certains abonnés
- Fanout : 1 message envoyé à plusieurs consommateurs (traitement parallèle)
Dead Letter queue
- Cible pour messages non traités
- Fonctionne avec SNS et SQS
- Utile pour le debugging
- Permet de rejouer des events (redrive)
- Si une queue est FIFO sa DLQ doit l’être également
- Permet de configurer des alertes CloudWatch