Why you shouldn’t use Redis as a rate limiter: Part 1 of 2
A tour of the common Redis-based rate limiter implementations — and the correctness and performance traps each one hides.
We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Rate limiting and admission checks that help reduce overload and protect expensive work.
Set admission budgets for launch spikes and promos before excess work reaches your handlers.
Fewer moving parts to run and monitor. Spend less on Redis and ops.
Add via SDK. Keep your stack. Clear limits your customers understand.
UNDERSTAND OVERLOAD · KEEP USEFUL WORK MOVING
For developers, architects, and managers: 27 narrated lessons on why services overload and how to protect them. No cloud experience required. Start with one request, or jump to any lesson.
Four chapters, one learning path. Read or listen in any order. ~41 minutes total · Times shown at 1×.
Keep enough capacity to finish work and recover.
Contain one customer's excess without punishing everyone.
Reduce work entering a shared dependency when it slows.
Choose, combine, and test the right protections.
Read the explanation or use the course map above. Audio is optional.
Fairness versus resource isolation
Should not lose every resource
Strength depends on mechanism
Contains the noisy neighbor
Illustrative mechanism. Highlight follows the explanation; not a benchmark.
Read the numbered steps in order. The explanation below follows the narration.
A bulkhead contains the spread of trouble.
Tenant fairness is bulkhead-like containment, not a guarantee of reserved resources.
Tenant fairness is bulkhead-like containment, not a guarantee of reserved resources.
A ship's bulkhead separates compartments so trouble in one does not flood every other compartment. In software, a bulkhead separates resources or work so one part cannot consume everything. Resource isolation means setting aside or bounding resources for a particular part.
A tenant rate limit is bulkhead-like: it contains excessive arrivals from one customer and makes other customers less likely to suffer. That is a valuable fairness boundary. But it does not necessarily reserve a processor, memory, database connections, or active execution slots for Maya.
Imagine two tenants each start ten requests. One tenant's requests finish quickly. The other's requests remain active and retain much more memory. Equal request counts did not create equal resource use. Work weights can improve the allowance, but strict resource separation may require separate pools or additional concurrency bounds.
Choose the strength of the promise carefully. Say that the rate limit contains a tenant's excessive use. Do not say that rate limiting alone makes every tenant fully isolated from every other tenant.
A software bulkhead separates or bounds resources so trouble in one part does not consume everything in another part.
A tenant rate limit is bulkhead-like: it contains excessive arrivals. It does not necessarily reserve memory, connections, or execution slots.
Ten short operations and ten long operations have equal counts but different retained-work costs. Weights improve accounting; they do not create strict isolation.
Name the actual guarantee: recent-use fairness, concurrency separation, or a dedicated resource budget. They are different protections.
Content revision: 07c7dd00db17
Download review copy (27 lessons)Does an equal request allowance reserve equal memory for each tenant?
No. Duration and per-request cost differ. Strict resource isolation needs additional resource controls.
Use tenant rate limits for excessive arrivals; add separate bounded pools or concurrency controls when you need stronger isolation.
A rate limit alone does not reserve CPU, memory, active slots, or database connections.
Start here. No earlier lesson is required.
Waiting work can retain memory. A failed allocation or terminated process can stop service.
Serverless and autoscaling change how compute is supplied, not whether resources are finite.
A rate limit enforces an allowance, not a measurement of current resource health.
Distinguish admission accounting from resource scheduling. State which resources are actually bounded or separated.
Original explanation inspired by Fred Hébert and operational references; no endorsement implied.
AI-generated narration: ElevenLabs Eleven v3, Daniel stock voice. Audio streams only when you start listening.
A tour of the common Redis-based rate limiter implementations — and the correctness and performance traps each one hides.
The myth of infinite serverless scale — why adding machines doesn’t fix overload, and what to do instead.