一致哈希

✍ dations ◷ 2025-08-01 04:27:13 #Hashing

一致哈希 是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K / n {\displaystyle K/n} 个关键字重新映射,其中 K {\displaystyle K} 是关键字的数量, n {\displaystyle n} 是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。

一致哈希由MIT的Karger及其合作者提出,现在这一思想已经扩展到其它领域。在这篇1997年发表的学术论文中介绍了“一致哈希”如何应用于用户易变的分布式Web服务中。哈希表中的每一个代表分布式系统中一个节点,在系统添加或删除节点只需要移动 K / n {\displaystyle K/n} 项。

一致哈希也可用于实现健壮缓存来减少大型Web应用中系统部分失效带来的负面影响。

一致哈希的概念还被应用于分布式散列表(DHT)的设计。DHT使用一致哈希来划分分布式系统的节点。所有关键字都可以通过一个连接所有节点的覆盖网络高效地定位到某个节点。

在使用n台缓存服务器时,一种常用的负载均衡方式是,对资源o的请求使用 hash ( o ) = o mod n {\displaystyle {\mbox{hash}}(o)=o\mod n} 来映射到某一台缓存服务器。当增加或减少一台缓存服务器时这种方式可能会改变所有资源对应的hash值,也就是所有的缓存都失效了,这会使得缓存服务器大量集中地向原始内容服务器更新缓存。因此需要一致哈希算法来避免这样的问题。一致哈希尽可能使同一个资源映射到同一台缓存服务器。这种方式要求增加一台缓存服务器时,新的服务器尽量分担存储其他所有服务器的缓存资源。减少一台缓存服务器时,其他所有服务器也可以尽量分担存储它的缓存资源。一致哈希算法的主要思想是将每个缓存服务器与一个或多个哈希值域区间关联起来,其中区间边界通过计算缓存服务器对应的哈希值来决定。(定义区间的哈希函数不一定和计算缓存服务器哈希值的函数相同,但是两个函数的返回值的范围需要匹配。)如果一个缓存服务器被移除,则它所对应的区间会被并入到邻近的区间,其他的缓存服务器不需要任何改变。

一致哈希将每个对象映射到圆环边上的一个点,系统再将可用的节点机器映射到圆环的不同位置。查找某个对象对应的机器时,需要用一致哈希算法计算得到对象对应圆环边上位置,沿着圆环边上查找直到遇到某个节点机器,这台机器即为对象应该保存的位置。当删除一台节点机器时,这台机器上保存的所有对象都要移动到下一台机器。添加一台机器到圆环边上某个点时,这个点的下一台机器需要将这个节点前对应的对象移动到新机器上。更改对象在节点机器上的分布可以通过调整节点机器的位置来实现。

David Karger及其合作者列出了使得一致哈希在互联网分布式缓存中非常有用的几个特性:

在亚马逊的云存储系统Dynamo的数据划分功能模块中使用一致哈希。

相关

  • 立百病毒亨尼巴病毒属(学名:Henipavirus),包括尼帕病毒(又译尼巴病毒、立百病毒)(Nipah virus)和亨德拉病毒(Hendra Virus,HeV)。1999年于东南亚被发现的会引发立百脑炎的新型病毒,也会造成人类
  • 基因敲除基因敲除(英语:gene knock-out,缩写为KO)是一种遗传工程技术。是指利用外源的已突变的基因通过同源重组的方法替换掉内源的正常同源基因,从而使内源基因失活而表现突变体的性状的
  • 风向袋风向袋或风锥是一个圆锥形纺织管,旨在表明风向和风速。风向袋通常是用在机场,或有气体泄漏危险的化工厂。他们有时是坐落在公路两旁当风的位置。风向袋所表示的风向是与风向袋
  • 美国铁路运输美国的铁路运输主要由货运业务组成。客运业务曾经是该国客运网络的一个庞大而重要的组成部分,但现如今,相较于其他国家的交通运输格局而言,它仅仅扮演着一个作用非常有限的角色
  • 衡茶吉铁路吉衡铁路,(又称吉衡线,曾称衡茶吉铁路),西起京广铁路衡阳站,途经湖南省衡南、安仁、攸县、茶陵、炎陵,穿越罗霄山脉,进入江西省井冈山,接吉井铁路井冈山站。吉衡铁路线路全长291公里,
  • 西班牙议会西班牙议会(西班牙语:Cortes Generales,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","C
  • 阿卜杜拉·本·费萨尔阿卜杜拉·本·费萨尔(死于1889年)内志埃米尔,内志酋长国的建立者长孙(沙特王朝以其五世祖的名字命名)。阿卜杜拉·本·费萨尔于1865年至1871年及1871年至1873年及1876年至1889年
  • 嘻哈时装嘻哈时装,是一种源于纽约布朗克斯区非裔美国人的和拉丁裔的年轻人的独特穿着。随后受到hiphop影响的包括洛杉矶,芝加哥,费城,匹兹堡,东岸(圣弗朗西斯科、岸区),还有南部的其他较污杂
  • 欧阳通欧阳通(7世纪?-691年),字通师,潭州临湘县(今湖南省长沙市)人。唐朝及武周时期官员,著名书法家。欧阳询第四子。其父在641年逝世后,欧阳通由母徐氏教学,盼子继承父业。初拜兰台郎,仪凤(676
  • 青森电视台青森电视台(日语:青森テレビ,あおもりテレビ;英语:Aomori Television Broadcasting Co., Ltd.)是日本的一家以青森县为放送地域的电视台。简称ATV。呼出讯号为JOAI-(D)TV,开播于196