New to the Concept of Awesome Lists?
They are a curation of exciting resources on a particular subject. They are actually quite popular these days.
This list would have been incomplete without the input of Shrayas. I’ll keep adding stuff as and when something catches my eye. Please keep in mind that I haven’t personally gone through most of them. Some of them are recommendations by people I know and I’ve actually read a few of these resources.
Blog Posts and Links
- Notes on Distributed Systems for Young Bloods
- Plain English Introduction to CAP Theorem
- Understanding RPCs
- CA CP and AP
Read this StackOverflow answer after you’ve read the Plain English Introduction to CAP Theorem. - Why CA systems can’t exist?
- High Scalability
An awesome blog with loads of resources on Distributed Systems.
Papers
- Time, Clocks and the Ordering of Events in a Distributed System
This is the most cited paper in computer science. - MapReduce: Simplified Data Processing on Large Clusters
A novel way developed at Google to abstract away problems concerning distributed systems from the end programmer. - In Search of an Understandable Consensus Algorithm
A relatively easy to understand consensus algorithm. I’ve written notes for this paper here. - Paxos Made Simple
Paxos (a consensus algorithm which people consider pretty hard to understand) explained in simpler terms. - Google File System
Distributed file system at Google. It is 14 years older than this blog post. Google has made a quite a few changes to their file system in light of recent developments. I’ve written notes for this paper here.
People to Follow
- Aphyr He runs Jepsens. Jepsens focuses on the safety of distrbuted systems and puts their claims to a test. He trains people as well. Notes from his 2 day training. They’ve also analysed various leading databases and queues. You can find the reports here.