Broker (Message‑Brokered)
Decouple producers and consumers via a broker that routes, buffers, and delivers messages (queues/topics).
What it is
A mediator style where components communicate indirectly through a broker. The broker handles routing (direct, fanout, topic), buffering, retries, and dead letters.
Benefits
- Temporal decoupling and backpressure handling
- Scalable consumers (competing consumers)
- Failure isolation via DLQs and retries
Trade-offs
- Operational complexity of the broker
- At-least-once semantics require idempotency
- Debugging multi-hop flows is harder
When to use
- Asynchronous work dispatch and integration
- Decoupling services with variable load
- Bridging unreliable or bursty producers