Distributed Systems
Patterns and algorithms for building correct, reliable systems that span multiple processes, machines, and geographic regions.
Distributed Transactions
Coordinated changes across multiple systems when atomicity is required across boundaries.
Saga Pattern
A sequence of local transactions with compensating actions for business-level atomicity without global locks.
Compensating Transactions
Undoing previously completed business actions when distributed work fails mid-flight.
Consensus Algorithms
Agreement among nodes in the presence of failures — Raft, Paxos, and practical trade-offs.
Leader Election
Choosing one node to coordinate a task within a distributed system.
Distributed Locking
Preventing concurrent conflicting actions when one resource must be modified by only one actor at a time.
Split Brain Problem
How partitioned distributed systems can diverge and strategies to detect and resolve the split.
Clock Synchronization
Handling unreliable wall-clock ordering in distributed systems with NTP, logical clocks, and Lamport timestamps.
Vector Clocks
Tracking causality and event ordering across distributed nodes without a global clock.
Quorum Reads & Writes
Using majority acknowledgment to balance consistency and availability in distributed storage.
Service Discovery
How services find and communicate with each other in dynamic, container-based environments.
Distributed Coordination
Centralized coordination services like ZooKeeper and etcd for distributed system primitives.
Gossip Protocols
Epidemic-style information dissemination for cluster membership and failure detection.
Distributed Scheduling
Assigning and executing work across a pool of nodes with fairness and fault tolerance.