Event-Driven Processing Architecture
Design case
A service receives bursts of work while a downstream processor has variable capacity. The system should remain available when processing slows down.
Architecture
Producer → durable message → worker → downstream service
Keep the request path short. Let workers absorb bursts and make processing independently scalable.
Failure strategy
Design for retries, duplicate delivery, poison messages, and downstream throttling. A successful design can answer how a failed message is detected, retried, quarantined, and safely replayed.
Interview angle
Explain why the queue exists, what consistency model you accept, how you make processing idempotent, and which metric tells you the system is falling behind.