mirror of
https://github.com/theanalyst/awesome-distributed-systems.git
synced 2024-11-20 11:08:09 -05:00
A curated list to learn about distributed systems
README.md |
awesome-distributed-systems
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.
Bootcamp
Read things here before you start.
- CAP Theorem, Also plain english explanation
- Fallacies of Distributed Computing YES!! EXPECT EVERYTHING TO BREAK!!!
Books
- Distributed Systems for fun and profit [Free]
- Distributed Systems Principles and Paradigms, Andrew Tanenbaum [Amazon Link]
- Scalable Web Architecture and Distributed Systems [Free]
Papers
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
- The Part Time Parliament Paxos
Storage & Databases
- Dynamo: Amazon's Highly Available Key Value Store
- Bigtable: A Distributed Storage System for Structured Data
- The Google File System
- Cassandra: A Decentralized Structured Storage System Inspired heavily by Dynamo
- CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data, Basis of Ceph distributed storage system
Distributed Consensus
- The Chubby Lock Service for loosely coupled distributed systems Inspiration behind other Service Discovery & Coordination ZK, etcd, Consul etc.
- Paxos made live - An engineering perspective Google's learning while implementing systems atop of Paxos
- Raft Consensus Algorithm Do checkout an interesting visualization of raft
Courses
- Cloud Computing Concepts, University of Illinois
- CMU: Distributed Systems in Go Programming Language
- Software Defined Networking , Georgia Tech.
Blogs and other reading links
- Notes on Distributed Systems for Young Bloods
- High Scalability Several architectures of huge internet services, for eg twitter, whatsapp
- The C10K problem
- On Designing and Deploying Internet-Scale Services