Peer-to-Peer Systems and Distributed Hashing
Distributed lookup separates a key from the machine that currently serves it. Begin with Chord's ring-based lookup, then compare the XOR metric used by Kademlia and the routing substrate provided by Pastry. Scribe demonstrates a service built on top of an overlay, making the relationship between routing and application behavior explicit. Dynamo closes the sequence by placing partitioning beside replication, versioning, and recovery in a storage service. The list is intended for readers comfortable with algorithms and network communication. Trace a lookup before and after a node joins or fails, then record what each design assumes about membership and communication. Focus on routing cost, resilience, and the work required when ownership changes. Curated from collections by Dan Creswell (https://dancres.github.io/Pages/) and Fred Hébert (https://ferd.ca/a-distributed-systems-reading-list.html); commentary and reading order are original.