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.
Useful service outcomes
Can prepare for her meeting
Even a safe cheaper list
Avoid repeated system collapse
Illustrative mechanism. Highlight follows the explanation; not a benchmark.
Read the numbered steps in order. The explanation below follows the narration.
Useful customer outcomes are the goal.
Protect useful customer outcomes, while counting refusal, degradation, and failure honestly.
Protect useful customer outcomes, while counting refusal, degradation, and failure honestly.
Return to the people using the service. Maya needs a report. A viewer wants something useful to watch. An operations team wants a system it can recover without repeatedly losing every application copy. The business value is useful service delivered, not the largest possible count of accepted requests.
Local resource protection preserves the application's ability to respond. Tenant fairness contains one customer's excess. Shared latency feedback helps avoid adding work to a dependency that is already slow. A cheap, correct fallback can keep a customer moving even when optional features are reduced. Refused or failed requests must still be counted honestly.
These protections do not absorb unlimited traffic. Edge protection means filtering traffic before it reaches the application. A distributed denial-of-service attack is a flood intended to overwhelm availability; specialized network protection helps with that scale. A web application firewall filters configured categories of unwanted web requests. Those defenses complement application-aware decisions.
Measure useful responses, delays, explicit refusals, degraded responses, and failures separately. No layer promises total protection. The goal is to preserve more useful, correct service while containing overload. Next, choose one important customer operation. Set its protections and safe fallback, then test both refusal and recovery.
The goal is a useful result for a person, not a large count of accepted requests or internally completed operations.
Measure correct full responses, useful degraded responses, refusals, and failures separately. A cheap fallback can preserve value without pretending every request succeeded.
Edge filtering and large-scale network defenses complement application-aware admission. No layer can absorb unlimited traffic.
Choose one important customer operation. Identify local bounds, tenant policy, and the shared dependency. Decide what can safely degrade; test refusal and recovery.
Content revision: 07c7dd00db17
Download review copy (27 lessons)Accepted requests increased, but useful responses fell. Did availability improve?
Not for customers who cannot finish their task. Evaluate useful completed outcomes, latency, and deliberate service reductions separately.
Define customer-success metrics and distinguish normal success, safe degraded success, policy refusal, transport error, timeout, and resource failure.
No layer guarantees total protection. DDoS/WAF defenses and application controls solve complementary problems.
Start here. No earlier lesson is required.
Tenant fairness is bulkhead-like containment, not a guarantee of reserved resources.
Drop optional cost first, using a genuinely cheap and acceptable fallback.
Latency is useful feedback, not an exact queue or spare-capacity measurement.
Combine local survival, tenant fairness, and dependency feedback without confusing denial with missing decisions.
Compare useful throughput and recovery behavior under realistic mixed workloads. Treat marketing performance numbers as claims requiring workload-specific evidence.
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.