hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 常见问题 - 正文 君子好学,自强不息!

一致性哈希是什么

2020-06-29常见问题搜奇网23°c
A+ A-

一致性哈希算法在1997年由麻省理工学院提出,是一种特别的哈希算法,目标是处置惩罚散布式缓存的问题,在移除或许增添一个效劳器时,能够尽量小地转变已存在的效劳请求与处置惩罚请求效劳器之间的映照关联。

一致性哈希算法在1997年由麻省理工学院提出,是一种特别的哈希算法,目标是处置惩罚散布式缓存的问题。在移除或许增添一个效劳器时,能够尽量小地转变已存在的效劳请求与处置惩罚请求效劳器之间的映照关联。一致性哈希处置惩罚了简朴哈希算法在散布式哈希表( Distributed Hash Table,DHT) 中存在的动态伸缩等问题。

简介:

一致性哈希算法是1997年在论文Consistenthashingandrandomtrees中被提出,在散布式体系中运用异常普遍。一致性哈希是一种哈希算法,简朴地说在移除或许增添一个效劳器时,此算法能够尽量小地转变已存在的效劳请求与处置惩罚请求效劳器之间的映照关联,尽量满足单调性的请求。在一般散布式集群中,效劳请求与处置惩罚请求效劳器之间能够一一对应,也就是说牢固效劳请求与处置惩罚效劳器之间的映照关联,某个请求由牢固的效劳器去处置惩罚。这类体式格局没法对悉数体系举行负载平衡,大概会形成某些效劳器过于忙碌以至于没法处置惩罚新来的请求。而另一些效劳器则过于余暇,团体体系的资本应用率低,而且当散布式集群中的某个效劳器宕机,会直接致使某些效劳请求没法处置惩罚 。

进一步的革新能够应用hash算法对效劳请求与处置惩罚效劳器之间的关联举行映照,以到达动态分配的目标。经由过程hash算法对效劳请求举行转换,转换后的效果对效劳器节点值举行取模运算,取模后的值就是效劳请求对应的请求处置惩罚效劳器。这类要领能够应对节点失效的状态,当某个散布式集群节点宕机,效劳请求能够经由过程hash算法从新分配到其他可用的效劳器上。避免了没法处置惩罚请求的状态涌现 。

但这类要领的缺点也很明显,假如效劳器中保存有效劳请求对应的数据,那末假如从新盘算请求的hash值,会形成大批的请求被重定位到差别的效劳器而形成请求所要运用的数据失效,这类状态在散布式体系中是异常蹩脚的。一个设想优越的散布式体系应当具有优越的单调性,即效劳器的增添与移除不会形成大批的哈希重定位,而一致性哈希正好能够处置惩罚这个问题。

一致性哈希算法将悉数哈希值空间映照成一个假造的圆环,悉数哈希空间的取值局限为0~232-1。悉数空间按顺时针方向构造。0~232-1在零点中方向重合。接下来运用以下算法对效劳请求举行映照,将效劳请求运用哈希算法算出对应的hash值,然后依据hash值的位置沿圆环顺时针查找,第一台碰到的效劳器就是所对应的处置惩罚请求效劳器。当增添一台新的效劳器,受影响的数据仅仅是新增添的效劳器到其环空间中前一台的效劳器(也就是顺着逆时针方向碰到的第一台效劳器)之间的数据,其他都不会受到影响。综上所述,一致性哈希算法关于节点的增减都只需重定位环空间中的一小部份数据,具有较好的容错性和可扩大性。

特性:

  • 可扩大性。一致性哈希算法保证了增添或削减效劳器时,数据存储的转变起码,比拟传统哈希算法大大节省了数据挪动的开支。

  • 更好地顺应数据的快速增进。采纳一致性哈希算法散布数据,当数据不停增进时,部份假造节点中大概包括许多数据、形成数据在假造节点上散布不平衡,此时能够将包括数据多的假造节点破裂,这类破裂仅仅是将原有的假造节点一分为二、不需要对悉数的数据举行从新哈希和分别。假造节点破裂后,假如物理效劳器的负载依然不平衡,只需在效劳器之间调解部份假造节点的存储散布。如许能够随数据的增进而动态的扩大物理效劳器的数目,且价值远比传统哈希算法从新散布一切数据要小许多。

以上就是一致性哈希是什么的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
一致性哈希是什么

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

本文来源:搜奇网

本文地址:https://www.sou7.cn/296583.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

推荐阅读