Amazon Dynamo and the Engineering of Eventually Consistent Key-Value Systems
Amazon Dynamo treated machine and network failures as normal, combining consistent hashing, replication, quorum techniques and version reconciliation to keep key-value services available.