learn_distributed_systems
learn_distributed_systems copied to clipboard
Learning distributed systems
Learning Distributed Systems
Thanks to the paper trail and CaitieM.
Basics
- Distributed systems for fun and profit
- History of the Impossibles - CAP and FLP
- FLP and CAP aren't the same thing
- Readings in Database Systems - Peter Bailis, Joseph M. Hellerstein, Michael Stonebrake
- The Log: What every software engineer should know about real-time data's unifying abstraction - Jay Kreps
Courses
Papers
- Readings in Distributed Systems - Christopher Meiklejohn The Part-Time Parliament Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems Fast Paxos Paxos Made Moderately Complex Distributed Snapshots: Determining Global States of Distributed Systems Forward and Backward Simulations Part I: Untimed Systems An Axiomatic Proof Technique for Parallel Programs I Proving Liveness Properties of Concurrent Programs
Exercises
TLA+
- Leslie Lamport's The TLA+ Video Course
- raft.tla
- Dr. TLA+ Series - Raft
- Dr. TLA+ series - learn an algorithm and protocol, study a specification
Raft
Data Structures
Books
-
Designing Data Intensive Applications - Martin Kleppmann
-
Replication: Theory and Practice
-
Introduction to Reliable and Secure Distributed Programming
Papers
-
A Note on Distributed Systems
-
Dynamo
-
Impossibility of Distributed Consensus with One Faulty Process
-
Unreliable Failure Detectors for Reliable Distributed Systems
-
Life beyond distribuyed transactions
-
Zookeeper
-
Distributed Snapshots: Determining Global States of a Distributed System
-
Chain Replication for Supporting High Throughput and Availability