Tagged distributed-systems
2 pieces
- · 7 min read
Two Postgres Queues, Opposite Failures, Same Drill: Know Which Way Yours Breaks
Kill a worker mid-job and the two most common database-backed job queues behave in opposite ways. One re-runs the job after a fixed interval whether the worker is alive or dead, which duplicates work on a slow task. The other holds a dead worker's job for hours, which stalls it. Neither default is wrong, and inheriting one without knowing which you have is how a queue becomes an outage.
- · 7 min read
Bound the Concurrency or Your Latency Problem Becomes a Refusal
Running independent calls concurrently is the right instinct, and unbounded concurrency converts a slow path into a failing one. Without a ceiling, a wide request exhausts connection pools and trips provider rate limits under exactly the load where it matters most. With a ceiling, the same load produces a slower response that still completes. Turning a failure mode into a latency mode is almost always the correct trade in a user-facing path.