These curated reading lists provide structured paths through the vast landscape of distributed systems literature. Each list represents years of expertise distilled into essential readings.
Essential Meta Lists
Christopher Meiklejohn's Readings
A carefully curated collection of essential papers and articles in distributed systems from a leading researcher in the field.
Distributed Systems Meta List
A comprehensive meta-list aggregating various distributed systems resources and reading lists.
CMU Required Readings
Required readings from Carnegie Mellon University’s Engineering Distributed Systems course (15-749).
The Distributed Reader
A focused collection of fundamental distributed systems papers and resources.
Comprehensive Collections
A Distributed Systems Reading List by Dan Creswell
A Distributed Systems Reading List by Dan Creswell
A Distributed Systems Reading ListA collection of material covering:
- Distributed Systems Theory - Foundational papers on consensus, consistency, and coordination
- Seminal Industry Papers - Groundbreaking work from companies like Google, Amazon, and Facebook
- Practical Implementations - Real-world systems and their architectures
Distributed Systems Readings by Henry Robinson
Distributed Systems Readings by Henry Robinson
Distributed Systems ReadingsA comprehensive list featuring:
- Online courses related to distributed systems
- Essential papers organized by topic
- Video lectures and tutorials
- Open source implementations
Specialized Topics
Awesome Distributed Consensus
A specialized list focused exclusively on distributed consensus protocols including:
- Paxos and its variants
- Raft and learner’s resources
- Byzantine consensus algorithms
- CRDTs and eventual consistency
- Practical implementations and case studies
Beginner-Friendly Resources
Beginner’s Guide to Distributed SystemsA blog post with useful getting started links specifically curated for those new to distributed systems. Great first stop before diving into more advanced materials.
How to Use These Lists
Recommended Approach
Recommended Approach
With so many resources available, here’s a suggested approach:
For Beginners
- Start with the Beginner’s Guide to Distributed Systems
- Review the CMU Required Readings for academic rigor
- Supplement with The Distributed Reader for focused topics
For Practitioners
- Explore Christopher Meiklejohn’s Readings for research-oriented perspective
- Check A Distributed Systems Reading List for industry papers
- Use Awesome Distributed Consensus for deep dives into specific protocols
For Researchers
- Study the CMU Required Readings thoroughly
- Follow Distributed Systems Readings for course materials
- Keep up with the Meta List for comprehensive coverage
Don’t try to read everything at once. Pick a list aligned with your goals and work through it systematically.
Contributing Back
Many of these lists are community-maintained. If you discover great resources not included, consider contributing back through pull requests or by sharing with the maintainers.
Why Multiple Lists?
Different Perspectives, Different Strengths
Different Perspectives, Different Strengths
Each reading list reflects the curator’s unique perspective and expertise:
- Academic lists (CMU) emphasize theoretical foundations
- Practitioner lists (Dan Creswell) focus on production systems
- Researcher lists (Christopher Meiklejohn) highlight cutting-edge developments
- Beginner lists provide gentler learning curves
These curated lists represent decades of collective experience in distributed systems. They’re regularly updated by experts in the field and serve as excellent starting points for both learning and reference.