Rate Limiting: Token Bucket, Leaky Bucket, and Sliding Window
Every public API needs a rate limiter, but the algorithm you pick changes the burst behaviour your users feel. A practical comparison with Redis implementations.
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.
4 articles · updated regularly
Every public API needs a rate limiter, but the algorithm you pick changes the burst behaviour your users feel. A practical comparison with Redis implementations.
When a business operation spans several services, you can't wrap it in one ACID transaction. Sagas trade atomicity for compensations — here's how to get them right.
You can't atomically commit to Postgres and Kafka. The outbox pattern is how senior backends finesse that without losing events.
Networks fail, clients retry, and one charge becomes two. Idempotency keys turn that from a postmortem into a non-event.