guavahash
Google's Guava consistent hashing implementation
Assign to input
a "bucket" in the range [0, buckets)
, in a uniform manner
that minimizes the need for remapping as buckets
grows.
That is, consistentHash(h, n)
equals:
-
n - 1
, with approximate probability1/n
; -
consistentHash(h, n - 1)
, otherwise (probability1 - 1/n
).
See the wikipedia article on consistent hashing for more information.