一致性哈希方式 最关键的区别就是,对节点和数据,都做一次哈希运算,然后比较节点和数据的哈希值,数据取和节点最相近的节点做为存放节点。这样就保证当节点增加或者减少的时候,影响的数据最少。
十条数据,算出各自的哈希值,(这里就不变了,实际上要经过一系列计算)
0 : 01 : 12 : 23 : 34 : 45 : 56 : 67 : 78 : 89 : 9有三个节点,算出各自的哈希值
node a: 3node b: 5node c: 7这个时候比较两者的哈希值,5等于b,则归属b,4小于b,归属b,3等于a,则归属a,最后所有大于c的,归属于c(这里只是模拟) 相当于整个哈希值就是一个环,对应的映射结果:
node a: 0,1,2,3node b: 4,5node c: 6,7,8,9这个时候加入node d, 就可以算出node d的哈希值: node d: 9
这个时候对应的数据就会做迁移:
node a: 0,1,2,3node b: 4,5node c: 6,7node d: 8,9只有最后8,9这2条数据被存储到新的节点,其他不变
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。