Designing a Load Balancer
Load balancing is about deciding where to send the next request. From weighted round robin to response-time aware routing to consistent hashing at L4 or L7, each strategy has trade-offs in complexity, fairness, and statefulness. This guide walks through the common approaches and key design considerations.
How Loud Should Your Systems Be When They Break?
In Notify on Success? Notify on Failure? No — Notify Intelligently, I shared a story about a side project that failed silently for months — a scraper that was supposed to run every 10 minutes, but stopped without a trace. I had notifications set up, but only if the job ran. When it didn’t, I got nothing.
Notify on Success? Notify on Failure? No — Notify Intelligently.
Why classic monitoring logic breaks down, and how to fix it
Semantic vs. Non-Semantic Sharding and Partitioning
Explaining the often-missed distinction between semantic and non-semantic partitioning, and how it applies across databases, caches, and even load balancing.
The Inbox/Outbox Pattern Explained
A clear explanation of the Inbox/Outbox pattern, why it exists, and how it powers social feeds, messaging, and event-driven systems.
Why Celebrities Are Necessary
Without celebrities, we’d never discover concepts like hot shards, read contention, or write amplification. Celebrities are the reason these patterns exist.