ML
Topic

System Design

Patterns that show up in every senior backend interview and every real outage postmortem — idempotency keys, outbox, sagas, rate limiting, circuit breakers, and the API design rules that keep systems composable.

10 articles · updated regularly

System Design
Jul 02, 20268 min

Token Bucket vs Leaky Bucket: The Rate Limiter That Let the Burst Through

A rate limiter rejected traffic smoothly in every test and then let a client through at ten times its contracted rate during a real burst, taking down a downstream dependency that had no defenses of its own. The limiter was not broken. It was a token bucket, correctly implemented, doing exactly what a token bucket is designed to do, which turned out to be the wrong algorithm for a downstream that could not absorb bursts at all.

System DesignRate Limiting
Read
System Design
Jun 23, 20268 min

Timeout Budgets: Why One Slow Dependency Blows Your Whole Request

The checkout endpoint had a 30-second timeout. So did the payment service it called, and the fraud check that called, and the database underneath that. When one of them got slow, the timeouts stacked instead of capping, and a single sluggish dependency held thousands of connections open until the whole chain fell over.

System DesignReliability
Read