原理
hash值是个环形空间
- hash算法
- 值域,32或64位
对象映射到hash空间
hash(object 1) = key 1
...
hash(object n) = key n
node映射到hash空间
相同的hash算法
hash(node a) = key a
...
hash(node x) = key x
对象映射到node
- hash(object) = key
- 在hash环形空间上找到key对应的一点
- 顺时针找node
node变动
减少节点
一些映射到原节点的对象迁移到下一对象
增加节点
一些映射到下一节点的对象迁移到新节点
虚拟节点
- hash算法不一定均衡,特别在节点很少的情况
- node里面有多个虚拟节点