Module 14
The theoretical foundations of distributed computing: consensus algorithms, consistent hashing, vector clocks, and probabilistic data structures.
How distributed systems agree on values: the consensus problem, Paxos protocol, Raft simplification, leader election, and log replication.
Coordinating transactions across services: two-phase commit, three-phase commit, blocking problems, and why modern systems often avoid them.
Track causality in distributed systems: Lamport timestamps, vector clocks, version vectors, and conflict detection in eventually consistent stores.
Distribute data across nodes with minimal remapping: the hash ring, virtual nodes, load balancing, and real-world usage in Cassandra and DynamoDB.
Epidemic-style information spreading: membership detection, failure detection, state synchronization, and convergence properties.
Choosing a coordinator: bully algorithm, ring algorithm, ZooKeeper-based election, and the relationship between leader election and consensus.
When network partitions divide a cluster: split-brain scenarios, quorum-based prevention, fencing tokens, and STONITH strategies.
Probabilistic data structures for scale: Bloom filters for membership testing, counting Bloom filters, HyperLogLog for cardinality estimation, and practical applications.