Clément Schanen

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

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)
La diffusion d’un message par un topic SNS Un producteur publie un message sur un topic SNS, qui le distribue simultanément à deux files SQS, chacune servant son propre consommateur. Producteur TopicSNS Queue A Queue B ConsommateurA ConsommateurB

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