## Why We Moved to Event Queues

Requests no longer wait on slow consumers

Retries happen without user involvement

Each consumer scales on its own

## Throughput Before and After

| Metric               | Before | After |
|----------------------|--------|-------|
| Peak jobs per minute | 1200   | 4800  |
| Median latency (ms)  | 850    | 210   |
| Failed jobs per day  | 37     | 4     |

## What Still Needs Work

Dead-letter handling is manual

Consumer lag alerts are too noisy

Replay tooling needs access controls
