一致性哈希算法

转载自:https://blog.csdn.net/caigen1988/article/details/7708806

一致性和均衡性。

一致性通过将哈希空间当做一个环形实现,数据对象和缓冲cache分别映射到哈希环上。通过顺时针计算,将数据对象顺时针可到达的第一个cache当作它的存储cache,即映射cache。

此时如果增加cache,就将环中某两个cache节点之间的数据分为两半,一部分映射到从该点顺时针的第一个cache的数据映射到新的插入cache中。删除cache时,原映射到该删除节点的数据重新映射到顺时针到达的第一个cache。

一致性使得cache在增减时只需要变动少量数据。(如果用普通哈希,如:hash(key)/cache数目,在cache增减时会出现数据在缓存中存在,但映射后的区域没发现的情况。)

均衡性是在环形哈希空间的基础上,通过虚拟节点将分布不均的数据均衡映射到各个cache中。虚拟节点的位置应使数据均衡映射到各个虚拟节点,再将这些虚拟节点对应到实际的cache。

posted @ 2020-03-07 21:33  吉吉boy  阅读(120)  评论(0编辑  收藏  举报