1. Preface
  2. 1. Introduction
    1. 1.1. Network stack
    2. 1.2. Practice: virtual interface
    3. 1.3. Unreliable network
    4. 1.4. Measuring network
    5. 1.5. Availability
    6. 1.6. Distributed vs Decentralized
    7. 1.7. Taste of distributed
    8. 1.8. Exercises
  3. 2. Established systems
    1. 2.1. Erlang/OTP
  4. 3. Consensus
    1. 3.1. Raft
    2. 3.2. Transactions
    3. 3.3. Viewstamped Replication
  5. 4. Consistency
  6. 5. Distributed computing
    1. 5.1. ML training
  7. 6. Decentralized
    1. 6.1. p2p networks
    2. 6.2. Blockchain
    3. 6.3. Smart contracts
  8. 7. References

Distributed systems for a busy engineer