Just letting y’all know I found old notes I wrote giving a tour of distributed systems theory fundamentals and published them: https://ferd.ca/a-distributed-systems-reading-list.html
Topics covered at a high level include: synchronous models, semi-synchronous models, asynchronous models, theoretical and practical failure modes, consensus, FLP results, fault detection, the CAP theorem, message passing and ordering, idenpotence, state machine and state-based replication, end-to-end arguments, fallacies of distributed computing, consistency models, logical clocks and more!
Not covered: the two generals problem.
