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