一致性 hash 算法

用户头像
Geek_zhangjian
关注
发布于: 2020 年 07 月 08 日

一致性hash算法是分布式中一个常用且好用的分片算法现在的互联网服务架构中,为避免单点故障、提升处理效率、横向扩展等原因,分布式系统已经成为了居家旅行必备的部署模式,所以也产出了几种数据分片的方法:

1.取模,2.划段,3.一致性hash

前两种有很大的一个问题就是需要固定的节点数,即节点数不能变,不能某一个节点挂了或者实时增加一个节点,变了分片规则就需要改变,需要迁移的数据也多。

那么一致性hash是怎么解决这个问题的呢?

一致性hash:对节点和数据,都做一次hash运算,然后比较节点和数据的hash值,数据值和节点最相近的节点作为处理节点。为了分布得更均匀,通过使用虚拟节点的方式,每个节点计算出n个hash值,均匀地放在hash环上这样数据就能比较均匀地分布到每个节点。



hash 算法实现



node节点





测试用例







测试结果



用户头像

Geek_zhangjian

关注

还未添加个人签名 2019.11.28 加入

还未添加个人简介

评论

发布
暂无评论
一致性 hash 算法