Competing Consumers
Patron de scalabilité où plusieurs workers se partagent une même file EDI.
Définition
Avec les Competing Consumers, on attache N workers à une seule file : le broker distribue chaque message à un consommateur disponible, garantissant un traitement unique. Cela parallélise le traitement des interchanges EDI et absorbe les pics. Attention : l'ordre strict des messages n'est plus garanti entre consommateurs — d'où l'usage de clés de session ou de groupes de messages quand l'ordre compte.
Origine
Catalogué dans Enterprise Integration Patterns (Gregor Hohpe & Bobby Woolf, Addison-Wesley, 2003) ; également décrit comme pattern par le Microsoft Azure Architecture Center.
Exemple en contexte
File edi.inbound ← worker-1, worker-2, worker-3 ; un INVOIC ne part que vers worker-2, un autre vers worker-1 — débit ×3.
Termes liés
- Backpressure EDI — régulation du flux des consommateurs.
- Idempotency — sûreté en cas de redélivrance.