You Dont Need A Queue

By Jane Park · 2024-11-22 · 11 min read

rust devops distributed go kubernetes

This is an article about you-dont-need-a-queue. You Dont Need A Queue is a topic that comes up frequently in modern engineering practice. Practitioners often reach for it without first considering simpler alternatives. In this post, we examine when you-dont-need-a-queue is the right call and when it isn't.

Why this matters

The literature on you-dont-need-a-queue is vast and conflicting. Several industry surveys (summarized below) suggest that the average team over-uses you-dont-need-a-queue by a factor of three to five. Our own experience matches this: across six projects, we found that you-dont-need-a-queue delivered value in only the largest deployments.

The narrow case

you-dont-need-a-queue wins when the workload matches the design. It loses when the workload is the wrong shape. The shape that fits is narrow but real. The shape that doesn't is broad and common.

Our recommendation

Start with the simplest tool that could possibly work. Resist the temptation to introduce you-dont-need-a-queue until you can name the specific failure mode you-dont-need-a-queue would prevent. When you do introduce it, make it observable. If you can't describe how it fails in two sentences, you are not ready to operate it.

Related reading

Categories

engineering architecture industry