by theanalyst

A curated list to learn about distributed systems

5.6K Stars 842 Forks Last release: Not found 106 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


A (hopefully) curated list on awesome material on distributed systems, inspired by other awesome frameworks like awesome-python. Most links will tend to be readings on architecture itself rather than code itself.


Read things here before you start. - CAP Theorem, Also plain english explanation - Fallacies of Distributed Computing, expect things to break, everything - Distributed systems theory for the distributed engineer, most of the papers/books in the blog might reappear in this list again. Still a good BFS approach to distributed systems. - FLP Impossibility Result (paper), an easier blog post to follow along - An Introduction to Distributed Systems @aphyr's excellent introduction to distributed systems



Must read papers on distributed systems. While nearly all of Lamport's work should feature here, just adding a few that must be read. - Times, Clocks and Ordering of Events in Distributed Systems Lamport's paper, the Quintessential distributed systems primer - Session Guarantees for Weakly Consistent Replicated Data a '94 paper that talks about various recommendations for session guarantees for eventually consistent systems, many of this would be standard vocabulary in reading other dist. sys papers, like monotonic reads, read your writes etc.

Storage & Databases

Messaging systems

Distributed Consensus and Fault-Tolerance

Testing, monitoring and tracing

While designing distributed systems are hard enough, testing them is even harder. - Dapper, Google's large scale distributed-systems tracing infrastructure, this was also the basis for the design of open source projects such as Zipkin, Apache SkyWalking, Pinpoint and HTrace.

Programming Models

Verification of Distributed Systems

  • Jepsen A framework for distributed systems verification, with fault injection @aphyr has featured enough times in this list already, but Jepsen and the blog posts that go with are a quintessntial addition to any distributed systems reading list.
  • Verdi A Framework for Implementing and Formally Verifying Distributed Systems Paper



Blogs and other reading links

Meta Lists

Other lists like this one - Readings in distributed systems - Distributed Systems meta list - List of required readings for Distributed Systems Part of CMU's Engineering Distributed Systems course - The Distributed Reader - A Distributed Systems Reading List, A collection of material, mostly papers on Distributed Systems Theory as well as seminal industry papers - Distributed Systems Readings, A comprehensive list of online courses related to distributed systems - Awesome Distributed Consensus, Another list of materials on distributed consensus protocols - Distributed Systems Journey - πŸ“š Roadmap to becoming a distributed systems specialist πŸŽ“

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.