In this article the author discusses two approaches for hashing data on a server- consistent and rendezvous hashing.
When using traditional approaches like dividing by the number of nodes, the mappings break when a node quits or if a new comes up.
Consistent hashing comes in where physical nodes are mapped to virtual nodes, thereby allowing redistribution of load when nodes quit or new ones are added.
The author also discusses rendezvous hashing which distributes keys across nodes and allows natural replication.
Rendezvous hashing counts two hashes instead of one and selects the node with the highest hash.
Both consistent and rendezvous hashing have pros and cons, and the author notes that the approach chosen depends on the needs and nature of the system.
Rendezvous hashing sacrifices algorithmic complexity for simplicity and other advantages, and consistent hashing allows manual load balancing.
Consistent hashing also provides the option of transfer of virtual nodes, while rendezvous hashing does not.
The author concludes that rendezvous hashing's approach of uniform distribution and simple replication makes it an attractive option.
The article highlights the nuances of both hashing methods and will enable one in choosing their approach with a more careful eye.