首页 > 其他分享 >四、一致性hash

四、一致性hash

时间:2022-12-15 23:56:17浏览次数:68  
标签:hash hashMap memcache 一致性 取余 节点

一致性hash算法

这个,看到好多地方都讲了。。

当年面试阿里就被问到了。。。 还把这个和 hashMap 里的hash 搞混了。。唉。。。

简单说,就是为了实现把应用的 所有Key, 分散到多个 memcache的算法。

最基本的 分散方式就是取余。。。 但取余对于 memcache 的增减,影响太大了。。。数量一变,全都完蛋。

所以一致性hash, 就采用圆环分段式。。。 将圆环的一段都归为落到自己的节点。

然后,引申出来 虚拟节点。。。。这样节点少的时候,可以分配的更均匀当增加memcache的 时候, 要迁移的key 更加少一些。

(这个一致性hash 和 hashMap 里的hash,扩容,equals概念,一点关系都没有)


课后扩展:
找一个memcache库,读一读 一致性hash的具体代码实现。

参考资料:
https://cloud.tencent.com/developer/article/2040911?from=article.detail.1477161

标签:hash,hashMap,memcache,一致性,取余,节点
From: https://www.cnblogs.com/tidus5/p/16986278.html

相关文章