首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一致性hash增加节点有关问题

2012-10-21 
一致性hash增加节点问题最近在看关于一致性hash,其原理就是不仅对数据的key进行hash,同时对节点也进行hash

一致性hash增加节点问题
    最近在看关于一致性hash,其原理就是不仅对数据的key进行hash,同时对节点也进行hash,比如使用节点的ip值来进行hash,然后看key的hash值落在节点的hash值的区间来确定这个key在哪个节点上(我们的应该是数据会发到哪个节点)。这样在增加新的节点后,关于key的命中的影响仅仅是新增加节点和他临近的顺时钟位的节点之间的老数据。

    后来又接触到虚拟节点的概念,即每个物理节点划分成若干个虚拟节点,这样做的好处是使数据较为均匀的落在不同的节点上,同时也在新增加节点后,key命中的影响降的更低。

    这样我就有了问题,关于增加新的节点,而其他节点的位置不变的情况下,新的节点位于两个虚假节点之间,那么确实会使key的命中影响减到最小,但是这样一来,新的节点所包含的范围也就非常小了,那么又和平均负载冲突了,如果要做到平均负载,则是不是要把所有节点的位置都调整一番,那么key的命中又有影响了,不知道我这样理解是否正确?如何在不影响负载又使key命中影响最小的情况下增加节点呢?

热点排行