Resolve rebalance problem of dynamic cluster. Key techniques:
- determine hash space, eg 2 * PI or 16K like redis
- map keys and nodes to the same hash space using hash function(s)
- keys are placed on the first node with hash value greater than the key, or on the first node
- use binary search tree to speed up locating the node for a paticular key
- when new node joins, move keys with hash value smaller than the new node from its successor to the node
- when existing node leaves, move keys on this node to its successor