一致性hash

余数hash算法:

原理:通过 hashCode%节点数 来实现。

假设key1对应的hash值为10,节点数量为3,取余数得1,那么key1对应的节点为node1。

由于hashcode的随机性比较强,所以,所有的key可以很均匀的分布到所有的节点上。
但是,在分布式环境下,这个hash算法存在很大的问题:

假设节点数量从3变成了4,由于key1的hash值不变,取余数的结果变成了2,那么key1对应的节点变成了node2。

这就导致了,当节点数量发生变化,大多数的数据指向的节点会发生变化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一致性Hash算法 从上面的图中,可以看出一个很重要的问题,就是对服务器集群的管理,路由算法至关重要,就和负载均衡...
    青晨点支烟阅读 1,990评论 0 6
  • 分布式缓存作为缓存水平扩充的最佳办法,当前很实用。假设一台机器可支撑4GB的数据的缓存,如果需要支撑24GB,则需...
    TTTTTriM阅读 1,682评论 0 2
  • consistent hashing算法早在1997年就在论文Consistent hashing and...
    北风第一支阅读 842评论 0 5
  • 转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397...
    码农也越野阅读 451评论 0 1
  • 摘要: 一、二进制数的表示 n:二进制数整数位数 m:二进制数小数位数 B:二进制数标记 如:10111B.110...
    wenxiaoran阅读 719评论 0 0