Further Reading
Resources for deepening your understanding of distributed systems.
Books
| Title | Author | Focus |
|---|---|---|
| Designing Data-Intensive Applications | Martin Kleppmann | Modern database and distributed system design |
| Distributed Systems: Principles and Paradigms | Tanenbaum & van Steen | Academic foundations |
| Introduction to Reliable Distributed Programming | Cachin, Guerraoui, Rodrigues | Formal foundations |
Papers
Foundational
- Brewer, E. A. (2000). "Towards robust distributed systems"
- Gilbert, S. & Lynch, N. (2002). "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services"
- Fischer, M. J., Lynch, N. A., & Paterson, M. S. (1985). "Impossibility of distributed consensus with one faulty process"
Consensus
- Ongaro, D. & Ousterhout, J. (2014). "In Search of an Understandable Consensus Algorithm (Raft)"
- Lamport, L. (2001). "Paxos Made Simple"
Online Resources
- The Raft Consensus Algorithm
- Jepsen: Distributed Systems Safety Analysis
- Distributed Systems Reading List
Video Lectures
- MIT 6.824: Distributed Systems
- Stanford CS247: Advanced Distributed Systems
Practice
- Build your own distributed system from scratch
- Contribute to open-source distributed databases
- Participate in distributed systems hackathons