Systems
Consensus, replication, distributed transactions, and the failure-isolation patterns that keep services up.
2026
May 3The 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.May 3CRDTs: 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.May 3Multi-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.May 3Raft 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.May 3The 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.May 3How 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.May 2Circuit 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.May 2Consistent 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.May 2Paxos: How Distributed Systems Agree on AnythingPaxos 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.May 2Raft: 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.May 2The 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.May 2Two-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.May 2Vector 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.
2025
Dec 6MongoDB 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.Sep 5Why 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.