2.1 KiB
2.1 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Message Queue | 2026-06-06 | 2026-06-06 | concept |
|
high | false |
|
📨 Message Queue (File de Messages)
Définition Courte
Composant d'architecture qui permet à des services d'échanger des messages de manière asynchrone via une file, découplant producteur et consommateur.
Explication Détaillée
Pattern de base :
- Producer envoie un message à un topic ou queue.
- Le broker (le middleware) stocke le message de manière durable.
- Un ou plusieurs consumers reçoivent le message et le traitent.
- Si le consumer crashe, le message reste dans la queue et sera rejoué.
Patterns avancés :
- Pub/Sub : un message publié est lu par N consumers.
- Work Queue : un message traité par un seul consumer (load balancing).
- Dead Letter Queue : messages non traitables routés ailleurs.
- Idempotence : le consumer doit gérer les doublons.
Garanties de livraison :
- At most once : le message est livré 0 ou 1 fois (peut être perdu).
- At least once : livré au moins 1 fois (doublons possibles). Le standard.
- Exactly once : 1 fois, jamais plus. Très coûteux (Kafka transactions).
Cas d'Usage
- Communication asynchrone entre microservices.
- Traitement de tâches lourdes en arrière-plan (envoi de mail, génération PDF).
- Découplage de pics (lissage de charge).
- Event Sourcing (cf. patterns-architecture).
- IoT : ingestion massive de capteurs.
Outils Liés
- Kafka : le standard, throughput massif, durable.
- RabbitMQ : classique, AMQP, plus simple.
- NATS : léger, pub/sub natif, idéal cloud-native.
- Redis Streams : in-memory, rapide, simple.
- AWS SQS/SNS, GCP Pub/Sub.
Pages Liées
Questions Ouvertes
- Kafka est-il encore pertinent face à des solutions plus modernes (Redpanda, WarpStream) ?
- Comment tester correctement des workflows asynchrones ?