Here are some useful links for further reading:
- Dynamo - Highly available key-value store;
- Kafka - A distributed messaging system for log processing;
- Consistent Hashing - Original paper;
- Paxos - Protocol for distributed consensus;
- Concurrency Controls -
Optimistic methods for concurrency controls; - Gossip Protocol - For failure detection and more;
- Chubby - Lock service for loosely-coupled distributed systems;
- ZooKeeper - Wait-free coordination for Internet-scale systems;
- MapReduce - Simplified data processing on large clusters;
- Hadoop - A distributed file system;