A collection of distributed systems patterns explained with problems, solutions, diagrams and Java implementations.
- Patterns of Distributed Systems – Unmesh Joshi
- Designing Data-Intensive Applications – Martin Kleppmann
- Distributed Systems: Principles and Paradigms – Andrew S. Tanenbaum & Maarten van Steen
- Distributed Systems – Maarten van Steen & Andrew S. Tanenbaum (Open Textbook)
- Database Internals – Alex Petrov
- Site Reliability Engineering – Google
- Building Microservices – Sam Newman
- Dynamo: Amazon's Highly Available Key-value Store
- Bigtable: A Distributed Storage System for Structured Data (Google)
- The Google File System (GFS)
- MapReduce: Simplified Data Processing on Large Clusters
- Spanner: Google's Globally Distributed Database
- The Chubby Lock Service for Loosely Coupled Distributed Systems
- Raft: In Search of an Understandable Consensus Algorithm
- Martin Fowler – https://martinfowler.com/
- Netflix Technology Blog – https://netflixtechblog.com/
- Uber Engineering – https://www.uber.com/blog/engineering/
- Meta Engineering – https://engineering.fb.com/
- Microsoft Engineering – https://devblogs.microsoft.com/
- Cloudflare Blog – https://blog.cloudflare.com/