Distributed Hashing Algorithms by Example: Consistent Hashing

Consistent Hashing is a specific implementation of hashing that is well  suited for many of today’s web-scale load balancing problems.  Specifically, it can be seen in use in various caching solutions like  Memcached and is applicable to NoSQL solutions as well. Consistent  Hashing is used particularly because it provides a solution for the  typical “hashcode mod n” method of distributing keys across a series of  servers. It does this by allowing servers to be added or removed without  significantly upsetting the distribution of keys, nor does it require  that all keys be rehashed to accommodate the change in the number of  servers.

You can read the full store here.