Skip to content
All posts
Boolean Array1 min read

Your database is not a message queue

It works in the demo. It works for a month. Then Black Friday arrives and your 'queue' takes the whole app down with it.

ArchitectureBackend

It works in the demo. It works for the first month. Then Black Friday arrives, and your "queue" — a table you poll every second — takes the whole app down with it.

Convenient today, expensive later

Using your primary database as a job queue is one of those decisions that's completely reasonable right up until it isn't. Polling adds load. Locks contend. And the failure mode is the worst kind: everything, all at once.

Right tool, right job

A real queue is built for exactly this — back-pressure, retries, ordering, dead letters. Reaching for one early isn't over-engineering. It's declining a debt with a nasty interest rate.

Architectures rarely fail loudly. They fail on the busiest day you've ever had.

The best time to separate the two was at design. The second best is before your next big sale.

Keep reading

Let's build something worth shipping.

Tell us about your project and get a free, no-obligation consultation. We reply within one business day.

+1 289-633-4230