SERVICE PHONE

13988889999
hashgame hashgame
你的位置: 首页 > hashgame
HASH GAME - Online Skill Game大厂面试场景题:设计一致性哈希系统

发布时间:2025-12-25 22:41:42  点击量:

  hashgame,hashgames,hash game casino,hash game sign up,hash game download/BETHASH GAME [PermaLink: 363050.com] is the largest official cryptocurrency game. Fair and just, 1 second commission return, providing: hashgame,hash game download,BTC, ETH,TRC20,TRX

HASH GAME - Online Skill Game大厂面试场景题:设计一致性哈希系统

  为了实现横向扩展,在服务器之间高效和均匀地分配请求/数据是很重要的。一致性哈希是为了达成这个目标而被广泛使用的技术。首先,我们看一下什么是重新哈希问题。

  我们用一个示例来说明它是如何工作的。如表-1所示,我们有4个服务器,有8个字符串型的键(key)及其对应的哈希值(hash)。

  为了获取存储了某个键的服务器的序号,我们需要做求余运算f(key)%4。比如,hash(key0)%4=1,表示客户端必须联系server1以获取缓存的数据。图-1基于表-1展示了键的分布。

  这个方法在服务器池的大小固定不变的时候效果很好,并且数据的分布是均匀的。但是,当添加服务器或现有服务器被移除时问题就产生了。举个例子,如果server1下线,服务器池的大小就变成3。使用同样的哈希函数,对于同一个键,我们得到的哈希值不变。但是因为服务器数量减1,通过求余操作计算出的服务器序号就与之前的不同了。这可能会导致数据分布不均匀或错误地分配给错误的服务器。“哈希值%3”得到的结果如表-2所示。

  如图-2所示,大部分的键都被重新分配了,不仅仅是原来存储在宕机服务器(server1)中的那些键。这意味着当server1宕机时,大部分缓存客户端都会连接错误的服务器来获取数据。这会导致大量的缓存未命中(Cache Miss)。一致性哈希是缓解这个问题的有效技术。

  根据中的定义,“一致性哈希是一种特殊的哈希。如果一个哈希表被调整了大小,那么使用一致性哈希,则平均只需要重新映射k/n个键,这里k是键的数量,n是槽(Slot)的数量。对比来看,在大多数传统的哈希表中,只要槽的数量有变化,几乎所有的键都需要重新映射一遍”。

  现在我们了解了一致性哈希的定义,接下来看看它是如何工作的。假设我们使用SHA-1作为哈希函数f,哈希函数的输出值范围是:x0,x1,x2,x3,…,xn。在密码学里,SHA-1的哈希空间是0到2160-1。这意味着x0对应0,xn对应2160-1。图-3展示了哈希空间。

  使用同样的哈希函数f,我们根据服务器的IP地址或者名字将其映射到哈希环上。图-5展示了4个服务器被映射到哈希环上的情况。

  值得一提的是,这里使用的哈希函数跟第1节中的不一样,这里没有求余运算。如图-6所示,4个键(key0、key1、key2和key3)被映射到哈希环上。

  为了确定某个键存储在哪个服务器上,我们从这个键在环上的位置开始顺时针查找,直到找到一个服务器为止。图-7解释了这个过程,通过顺时针查找可知:key0存储在server0上;key1存储在server1上;key2存储在server2上;key3存储在server3上。

  按照上面描述的逻辑,如果要在哈希环中添加一个新的服务器,只有少部分键需要被重新映射到新的服务器上,大部分键的位置保持不变。

  如图-8所示,添加新的服务器后(server4),只有key0需要重新分配位置。key1、key2和key3都保留在原来的服务器上。我们仔细看一下这个逻辑。在添加server4之前,key0存储在server0上。现在,因为server4是从key0在哈希环上的位置开始顺时针查找时遇到的第一个服务器,所以key0会被存储到server4上。根据一致性哈希算法,其他的键不需要重新分配位置。

  当一个服务器被移除时,如果使用一致性哈希,就只有一小部分键需要重新分配位置。如图-9所示,当移除server1时,只有key1需要重新映射到server2上,其他键则不受影响。

  一致性哈希算法是麻省理工学院的David Karger等人首先提出的。它的基本步骤如下:

  •要找出某个键被映射到了哪个服务器上,就从这个键的位置开始顺时针查找,直到找到哈希环上的第一个服务器。

  这里有两个问题。第一,考虑到可以添加或移除服务器,所以很难保证哈希环上所有服务器的分区大小相同。分区是相邻服务器之间的哈希空间。在哈希环上分配给每个服务器的分区可能很小,也可能很大。如图-10所示,如果server1被移除,server2的分区(用双向箭头标记)就是server0和server3的两倍大。

  第二,有可能键在哈希环上是非均匀分布的。举个例子,如果服务器映射的位置如图-11所示,则大部分键都会被存储在server2上,而server1和server3上没有数据。

  虚拟节点是实际节点在哈希环上的逻辑划分或映射。每个服务器都可以用多个虚拟节点来表示。如图-12所示,服务器server0和server1都有3个虚拟节点。“3”这个数字是任意选的,在真实世界中,虚拟节点的数量要大得多。这里,我们不用s0而是改用s0_0、s0_1和s0_2来表示哈希环上的server0;用s1_0、s1_1和s1_2来表示哈希环上的server1。通过虚拟节点,每个服务器都对应多个分区。标记为s0的分区(边缘)是由server0来管理的。标记为s1的分区是由server1来管理的。

  为了找到某个键存储在哪个服务器上,我们从这个键所在的位置开始,顺时针找到第一个虚拟节点。如图-13所示,为了确定key0键存储在哪个服务器上,我们从key0所在的位置出发,顺时针查找并找到虚拟节点s1_1,它对应的是server1。

  当虚拟节点的数量增加时,键的分布就会变得更均匀。这是因为有更多虚拟节点以后,标准差会变小,从而导致数据分布更均匀。标准差衡量的是数据的分散程度。一个线上研究[插图]所做的实验显示:使用100个或200个虚拟节点时,标准差的均值约为10%(100个虚拟节点)和5%(200个虚拟节点)。当我们增加虚拟节点的数量时,标准差会更小。但是,这也意味着需要更多的空间来存储虚拟节点的数据。这需要权衡,我们可以调整虚拟节点的数量来满足系统的需求。

  当添加或移除服务器时,有一部分键需要重新分配位置。如何找到受影响的键的范围并重新为它们分配位置呢?

  如图-14所示,服务器server4被添加到哈希环上。从server4(新添加的节点)开始,沿着哈希环逆时针移动,直到遇到另一个服务器(图中为server3)为止,这就是受影响的键的范围。从图5-14可以看出,位于server3和server4之间的键需要重新分配给server4。

  如图-15所示,服务器server1被移除。从server1(被移除的节点)开始,沿着哈希环逆时针移动,直到遇到另一个服务器(图中为server0)为止,这就是受影响的键的范围。从图-15可以看出,位于server0和server1之间的键需要重新分配给server2。

  在本章中,我们对一致性哈希进行了深入的讨论,包括为什么需要进行一致性哈希和它是怎么工作的。一致性哈希有如下好处:

  •减轻了热点键问题。过多访问一个特定分区可能会导致服务器过载。想象一下,如果Katy Perry、Justin Bieber和Lady Gaga的数据都被存储在同一个分区上会是什么情形。一致性哈希通过使数据更均匀地分布来减轻这个问题。

  一致性哈希被广泛地应用于现实世界的系统中,包括一些非常出名的系统,例如:

  洛阳市住房公积金管理中心发布最新通知,12月31日起暂停办理住房公积金业务。尊敬的缴存职工、单位:根据中心2025年度决算工作安排,2025年12月31日起暂停办理柜面及线上各项住房公积金业务,2026年1月4日起恢复正常。

  近期,山西、安徽、广东三省发布干部任前公示。其中,山西和广东拟任4名市委书记,安徽合肥市公安局局长拟任新职。12月23日,山西省委组织部发布干部任前公示,其中,鞠振,现任阳泉市委副书记、市长,拟任市委书记。薛明耀,现任晋城市委副书记、市长,拟任市委书记。

  本文仅在今日头条发布,谢绝转载当地时间12月22日,特朗普在海湖庄园召开记者会,高调宣布了一项被他自诩为“伟大计划”的举措——打造美国全新的“黄金舰队”。“欢迎各位来到海湖庄园,参加这场令人激动的新‘黄金舰队’发布会!

  陈芋汐否认“有后台”,谈与全红婵关系:是并肩作战的队友,我们的关系不会被舆论左右

  据北青体育,近日,陈芋汐在《时间的答案》节目中接受水均益专访。在水均益的专访中,陈芋汐坦诚回应外界纷扰:“我和全红婵是并肩作战的队友,更是为中国跳水争夺荣誉的伙伴,我们的关系不是说这些舆论可以去左右的。”陈芋汐说,两人的关系、友情不会被舆论左右。

  在小说阅读器中沉浸阅读12月18日,海南自贸港全岛封关正式实施,其“零关税、低税率、简税制”政策与香港成熟国际中心的定位形成鲜明互补。丝路智谷研究院院长梁海明分析指出,海南与香港功能定位互补明显,“双港”联动具有广阔空间。

  江苏交通广播网2025-12-25 15:51:10近期,我市刘凯、袁玉进、顾小松、邓伟德、骆照林等5人接受纪律审查和监察调查:南京市建邺区住房保障和房产局原二级调研员刘凯涉嫌严重违纪违法,目前正接受南京市建邺区纪委监委纪律审查和监察调查。

  中央纪委印发通知 严查违规吃喝 严查违规收送礼品礼金 举报电线万次播放

  浙江温州一涉腐干部家中,搜出人民币479捆 ,105捆旧版2元集中拍卖#旧版人民币 #浙江温州

  王凯文:贵金属行情刚过半,美股牛市只剩最后一程 12月20日,「Alpha峰会」上Clocktowerd首席策略师王凯文指出,贵金属行情远未结束、美股牛市已进入倒计时、而最大的配置机会可能不在黄金,而在白银。#白银 #黄金 #美股

  马克操想要做标准,要注意这三个细节#北京#马克操#跑步#田径训练#50米跑

  匠心臻作同舟共济,共绘盛世华章大家好[比心]欢迎收看【月半点评】当一名将军倒在前线,人们会问战争打得怎么样;但当将军倒在首都街头,人们开始意识到,问题可能早已不在前线。最近,俄罗斯再次传出震动舆论的消息,一名现役中将,在莫斯科城区遭遇爆炸袭击,最终不治身亡。

  12月的加勒比海不太平,美军突然开始往委内瑞拉周边调兵遣将,又是战机又是特种部队,动静闹得不小。这事得从特朗普政府那句“施压马杜罗政权”说起,明眼人都看得出来,这哪是施压,分明是军事威慑摆到了台面上。

地址:广东省广州市  电话:020-66889888 手机:13988889999
Copyright © 2012-2025 HASH GAME(哈希游戏) 版权所有 非商用版本 ICP备案编: