Découplage : SQS et SNS
Files, notifications et fan-out : absorber les pics sans perdre un seul message.
1. SQS : la file d'attente
- Standard : débit quasi illimité, ordre au mieux, au moins une fois. FIFO : ordre strict et déduplication, 300 msg/s (10 000 en batch).
- Visibility timeout : message invisible pendant son traitement ; s'il n'est pas supprimé, il réapparaît. Long polling (jusqu'à 20 s) pour réduire les coûts.
- Dead-letter queue (DLQ) : isole les messages en échec après N réceptions (maxReceiveCount) pour analyse.
- Rétention 1 minute à 14 jours ; chiffrement SSE-SQS ou SSE-KMS ; politiques d'accès.
2. SNS : la diffusion
- Modèle publish/subscribe : un message vers N abonnés (SQS, Lambda, HTTP, email, SMS).
- Fan-out : un topic SNS alimente plusieurs files SQS (parallélisme + persistance). Topics FIFO pour l'ordre.
- EventBridge : bus d'événements avec routage par règles (planifié, SaaS, services AWS) ; Step Functions pour orchestrer des workflows ; API Gateway comme porte d'entrée HTTP/REST/WebSocket.
aws sqs create-queue --queue-name commandes
aws sqs create-queue --queue-name commandes.fifo --attributes FifoQueue=true,ContentBasedDeduplication=true
aws sqs send-message --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes --message-body "commande-42"
aws sqs receive-message --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes --max-number-of-messages 5 --wait-time-seconds 10
aws sqs purge-queue --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes
aws sns create-topic --name alertes
aws sns subscribe --topic-arn arn:aws:sns:eu-west-3:1234:alertes --protocol email --notification-endpoint ops@exemple.fr
aws sns publish --topic-arn arn:aws:sns:eu-west-3:1234:alertes --message "deploiement termine"
aws sqs list-queues
aws sns list-topics
- Pic de charge + pas de perte = SQS devant les workers (découplage).
- Un événement vers plusieurs cibles = SNS fan-out.
- Ordre strict = FIFO (SQS et SNS) ; échecs = DLQ.
- Visibility timeout supérieur au temps de traitement, sinon double traitement.
Voir la réponse
Une file SQS FIFO avec ContentBasedDeduplication et un topic SNS FIFO en amont si diffusion. La file Standard autorise doublons et désordre, donc réponse fausse à l'examen.