美文网首页
一致性hash算法

一致性hash算法

作者: 沐兮_d64c | 来源:发表于2019-06-27 00:37 被阅读0次

1,简介

1)一致性hash算法:对2 ^ 32取模。[0, 2^32 -1]构造hash环,服务器节点放在hash环上。请求数据计算hash,顺时针在hash环上找到最近的node。
2)应用领域:分布式缓存如redis、负载均衡如nginx,rpc框架如dubbo等。
3)目的:解决分布式系统中,一个节点挂掉,普通的hash算法,造成大量数据迁移的问题。
4)单调性:新节点加入时,受影响的请求会映射到原有服务器,或者新节点上。不会映射到其他节点上。
分散性:一致性hash算法具有很低的分散性。
平衡性:负载均衡。一致性hash可以保证每个节点都处理请求,但是不能保证每个节点处理请求数大致相同。

2,图解

1)一致性hash环
整个hash空间为[0, 2^32 -1]

image.png
2)node服务器节点hash到环上(ip或者主机名)
image.png
3)请求对象顺时针映射到node服务器上
image.png
4)虚拟节点解决这种数据倾斜问题
image.png

相关文章

网友评论

      本文标题:一致性hash算法

      本文链接:https://www.haomeiwen.com/subject/gxpkcctx.html