1.why do we consist hashing?
Consist hashing is a kind of hashing that when hash table is resized , only keys/slots of keys need to be remapped on average.
2.what is consist hashing?
We can consider consist hashing as a hash ring, the ring has been divided 360(in the real condition it's 232).
When we add a node , we would randomly select K point from the ring.
3.what is the advantage of consist hashing?
- when we add/remove a new node, least of data will be affected.
- because we use the virtual nodes mechnism (one real node will process several virtual nodes data), so when we remove a node, it would not give the impact to a single node(since there'are several virtual nodes).
- data can be more balanced assigned to nodes
4.how to implement the consist hashing?
the related algrithm to understand the consist hashing:
https://www.lintcode.com/problem/520/