← Blog

Systems

2026-05-02The Bulkhead Pattern: Isolating Failures Before They SpreadHow the bulkhead pattern isolates failures in distributed systems — partition thread pools, connection pools, and resources so one degraded dependency cannot sink the whole service.2026-05-02CRDTs: Conflict-Free Replicated Data TypesCRDTs eliminate merge conflicts by design — commutative, associative, idempotent data structures that converge to the same state regardless of operation order. G-Counters, OR-Sets, and LWW registers explained.2026-05-02Multi-Paxos: From Single Decree to a Replicated LogMulti-Paxos extends single-decree Paxos into a replicated log by electing a stable leader, skipping Phase 1 for subsequent entries, and batching proposals for throughput.2026-05-02Raft Log Compaction: Keeping the Log from Growing ForeverRaft logs grow forever if left unchecked. Log compaction via snapshots lets nodes discard old entries, transfer state to slow followers, and recover quickly after a restart.2026-05-02The Saga Outbox Pattern: Reliable Event Delivery Without Two-Phase CommitThe outbox pattern solves the dual-write problem in event-driven systems: persist events to a local outbox table in the same transaction as your domain change, then relay them reliably.2026-05-02How Spanner Does Distributed Transactions Without Classic 2PCGoogle Spanner achieves globally consistent distributed transactions using TrueTime — bounded clock uncertainty instead of classic 2PC, enabling external consistency at planetary scale.2026-05-01Circuit Breakers: The Pattern That Stops Cascading FailuresCircuit breakers prevent cascading failures in distributed systems by tripping open when a downstream dependency fails, giving it time to recover while protecting callers.2026-05-01Consistent Hashing: Scaling a Cluster Without Reshuffling the WorldConsistent hashing lets you add or remove nodes from a distributed cluster while minimising the number of keys that need to move — the algorithm behind Dynamo, Cassandra, and load balancers.2026-05-01Paxos: How Distributed Systems Agree on AnythingA deep dive into Paxos: Phase 1 (Prepare/Promise) and Phase 2 (Accept/Accepted), safety guarantees, liveness limitations, and why real systems use Multi-Paxos instead.2026-05-01Raft: Consensus for the Rest of UsRaft is a consensus algorithm designed for understandability — leader election, log replication, and safety properties explained, with a comparison to Paxos.2026-05-01The Saga Pattern: Distributed Transactions Without the LockThe Saga pattern manages distributed transactions across microservices without 2PC — a sequence of local transactions with compensating actions for rollback when a step fails.2026-05-01Two-Phase Commit: Distributed Atomicity and Its Fatal FlawTwo-phase commit achieves distributed atomicity — all nodes commit or none do. But the coordinator is a single point of failure that can leave participants blocked indefinitely.2026-05-01Vector Clocks: Causality Without a Shared ClockVector clocks track causality in distributed systems — each event carries a logical timestamp that tells you whether two events are causally related or concurrent.2026-04-25PaxosPaxos is a consensus protocol for getting a distributed system to agree on a single value despite node failures and message delays — the foundation of most replicated state machines.2025-12-06MongoDB Connection Pool Exhaustion: Diagnosis, Fixes, and SDAMDiagnosing and fixing MongoDB connection pool exhaustion: SDAM monitoring, pool sizing, async leak patterns, and how to read the driver's topology events.2025-09-05Why MySQL is not CAMySQL is often called a CA system in CAP theorem discussions, but the reality is more nuanced — network partitions force tradeoffs even in single-master setups.