ENGINEERING

Background jobs and queues that survive a bad day

The work that happens after the response is sent is where reliability quietly breaks. Here is how we made our async tier boring.

Background jobs and queues that survive a bad day

Queues absorb spikes and decouple services — until a poison message or a thundering retry storm takes the whole tier down.

Design for retries

Every job is idempotent and carries an idempotency key, so running it twice is harmless. Failures back off exponentially with jitter.

  • Idempotency keys so duplicate delivery is safe
  • Dead-letter queues for messages that keep failing
  • Backpressure so a slow consumer cannot melt the producer

Observe the backlog

We alert on queue age, not just depth — a growing oldest-message age is the earliest sign something downstream is stuck.

Build on the same network

Deploy to 30 regions on the anycast edge — free to start.

Start building free
Stay in the loop

Engineering deep-dives, monthly

Join 40,000 builders getting our best writing on infrastructure, performance, and reliability. No spam, unsubscribe anytime.