什么是一致性hash算法(3)
什么是一致性hash算法

不平衡问题
我们通过新增节点和删除节点,知道了该方式会影响该节点的顺时针的后一个节点,其他节点不受影响。
但是因为生成哈希值的分布并不是均匀的,如下图新增k4、k5,如果节点B宕机了,k2和k4也迁移到节点C,导致那么大部分请求就落到节点C了,如果数量更多呢,此时会导致节点C压力陡增,这样就不均衡了!

那如何解决这个问题呢?
那就是通过虚拟节点
虚拟节点
虚拟节点 可以理解为是作为实际节点的一个copy,多个虚拟节点映射一个实际节点,因为在哈希环上节点越多就分布的越均匀,即使我们现实中不会有那么多真实节点。

上图中三个真实节点A、B、C,映射了9个虚拟节点,如果key值经过哈希落到临近A-1、A-2、A-3的虚拟节点,那么最终都将映射到真实节点A,你想如果虚拟节点再多点,是不是就会更均衡了!
假设真实节点A被移除,A对应虚拟节点也会移除,但是多虚拟节点方式可以映射更多真实节点,让剩余的节点更好得去承担节点变化的请求压力!
如下图:

这里简单讲解一下,图中真实节点A被移除,那么对应的虚拟节点移除,那么此时k1的重新映射到C-1、k3重新映射到B-3,也就是说被迁移到真实节点B和C,由此可见节点被移除会被更均衡的分散到其他节点上。
图中只简单列举了几个虚拟节点,虚拟节点越多,相对会越均衡。
好了,今天关于一致性哈希算法的介绍就到这了!
上述就是什么是一致性hash算法的具体内容,未经IT袋网网(www.itdai.com)允许禁止转载!
相关阅读
-
网站域名怎么申请注册 服务器域名注册的流程
一篇很详细的教程是关于网站域名怎么申请注册和服务器域名注册的流程IT技巧方面的经验,具体内容如下: .com域名 是商业使用最广域名,.com域名从开始到现在一直是全球使用最为多的顶级
-
steam隐身功能 将影响网站对活跃玩家数量吗
正文核心介绍:将影响网站对活跃玩家数量吗和steam隐身功能方面的内容,下面来一起了解一下吧。 Hello大家好,我是Miss的御用鸡腿IT袋网小编,每日游戏圈新鲜资讯与你分享~ Steam平台在今日
-
数据库管理系统的主要功能有哪些 简述数据库管理系统的技术特点
关于这个数据库管理系统的主要功能有哪些和简述数据库管理系统的技术特点的电脑方面的小经验,下面小编为您详细解答 数据库管理系统 DBMS (Database Management System)主要实现共享数据有效
-
ping丢包率多少算正常 怎么ping命令测试丢包率方法
有时候我们的网络出现故障,在排查的时候就会用到ping命令,但是很多人不清楚 ping丢包率多少算正常? 下面IT袋小编就给大家分享 ping命令测试丢包率 方法,帮助大家搞清楚什么样的丢包情


