I’ve watched this failure mode enough times that I can smell it coming during architecture reviews. Someone draws a box labeled “queue” between two overwhelmed services and everyone nods like the problem is solved. It isn’t. What they’ve actually built is a time-bomb with a progress bar.
Queues smooth spikes — this part is true. When your API gets hammered for thirty seconds because someone’s cron job misfired, a queue absorbs that burst and lets your consumers work through the backlog at sustainable pace. This is the happy path, the scenario in all the diagrams. Short-duration load, finite work, queue drains, everyone goes home.