Producer pushes messages. Consumer processes them asynchronously. Services never wait for each other. Buffer traffic spikes. Guarantee no message is lost.
PRODUCERS
Order Service
User Service
Payment Service
⬛ MESSAGE BROKER (Kafka)
TOPIC: orders.events
order.placed #8821
user.signup #4490
payment.done #8820
order.placed #8819
CONSUMERS
Email Service
Analytics
Inventory
Notifications
✓ Decoupled — services don't know about each other
✓ Durable — messages persist even if consumer is down