HASH 一致算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HASH 一致算法相关的知识,希望对你有一定的参考价值。

哈希满足特性

  1. 平衡性 :平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。

    引入了“虚拟节点”:“虚拟节点”是实际节点在 hash 空间的复制品,一实际个节点对应了若干个“虚拟节点”,这个对应个数也成为“复制个数”,“虚拟节点”在 hash 空间中以 hash 值排列。

  2. 单调性:单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。

  3. 分散性

  4. 负载

环形Hash空间

按照常用的hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。现在我们可以将这些数字头尾相连,想象成一个闭合的环形.


以上是关于HASH 一致算法的主要内容,如果未能解决你的问题,请参考以下文章

架构实践使用 golang 实现一致性Hash算法代码

Java深入研究一致性Hash算法

一致性hash算法,采用哪种算法实现比较好,比如MD5,CRC32,或者其它

对一致性Hash算法,Java代码实现的深入研究

Java实现一致性Hash算法深入研究

高可用架构之《一致性Hash算法》