当前位置:首页 > 足球资讯 > 正文内容

哈希竞猜游戏前端开发逻辑

杏彩体育2年前 (2023-02-24)足球资讯50

哈希是通过压缩数据来提高效率的解决方案。然而,由于哈希函数的有限性和数据量的增加,哈希冲突已成为精确数据压缩的难题

算法原理

一致性哈希算法由麻省理工学院于1997年提出。这是一种特定的哈希算法。删除或添加服务器时,它可以尽可能少地改变现有服务请求与请求处理服务器之间的映射关系

一致性哈希解决了分布式哈希表(DHT)之中直观哈希算法的动态伸缩问题

一致性哈希算法本质之上也是一种模块化算法

然而,与上述基于服务器数量的模块有所不同,一致性哈希是将固定值2^32

IPv4地址模块化,由4组8位二进制数组成,因此,2^32可以确保每个IP地址都有唯一的映射

哈希环

我们可以将这2^32个值抽象化为一个环环正下方的点表示顺时针排列的0,依此类推:1、2、3。。。直到2^32-1。由32个点到2的幂组成的环统称为哈希环

服务器映射到哈希环

映射服务器时,使用哈希(服务器IP)%2^32,即:

服务器IP地址用于哈希计算,哈希结果用于模化2^32。结果必须是0到2^32-1间的整数

哈希环之上此整数映射的位置表示一个服务器,该服务器依次将node0、node1和node2缓存服务器映射到哈希环

对象密钥映射到服务器

将相应密钥映射到特定服务器时,需要首先计算金钥的哈希值:哈希(key)%2^32

注意:此处的哈希函数可能有所不同于计算服务器映射到哈希环的函数。只要值范围与哈希环的值范围相近(即2^32)

将密钥映射到服务器遵循下列逻辑:

从缓存对象密钥的位置开始,逆时针方向遇到的第一个服务器就是当前对象将缓存到的服务器

假设我们有“semlinker”、“kakuqo”、“Lolo”和“fer”,它们缩写为O1,O2、O3和O4分别

数据倾斜和服务器性能均衡问题

导致问题

在上述示例之中,每个服务器几乎均匀分布到哈希环

但是,在具体场景之中,很容易选择一个哈希函数将所有服务器理想地散列到哈希环之上

此时,当服务器节点数太难时,由于节点分布不均匀,很难造成数据倾斜

在添加CS4服务器时,CS4只分担CS1服务器的负载,CS2和CS3服务器并没有因为添加了CS4服务器而降低负载压力;如果CS4服务器的性能与原来的服务器相同甚至更低,那么这个结果就不是我们所期望的

虚拟节点

为了解决上述问题,我们可以引入虚拟节点来解决负载不均衡的问题:

也就是说,将每个物理服务器虚拟化为一组虚拟服务器,虚拟服务器被放置在哈希环之上。如果要确定对象的服务器,需要首先确定对象的虚拟服务器,然后虚拟服务器确定物理服务器

使用场景

一致性哈希应该是分布式系统之中负载均衡的首选算法。它可以在客户端和下方件之上敏捷实现。例如,日常缓存之中常见的memcached和redis集群可以使用它

memcached集群是特定的。严格来说,它只能被视为一个伪集群,因为它的服务器不能相互通信。请求的分发路由全然取决于客户端来计算缓存对象应该位于哪个服务器之上,其路由算法使用一致性哈希

redis集群之中还有哈希槽的概念。虽然实现方式有所不同,但想法总是相近的。阅读本文之中的一致性哈希后,您将更难理解redis slot

一致性哈希算法的实现

接下来,我们根据上述描述使用golang实现一致性哈希算法。该算法具有下列特点:

相同哈希的核心算法

支持自定义哈希算法

支持自定义虚拟节点数;

扫描二维码推送至手机访问。

版权声明:本文由财神资讯-领先的体育资讯互动媒体转载发布,如需删除请联系。

本文链接:http://www.tengj.cn/?id=62729

分享给朋友:

“哈希竞猜游戏前端开发逻辑” 的相关文章

足彩彩票怎么看?

足彩彩票怎么看?

对于我来说,足球已经成为我生活中不可缺少的一部分,在足彩领域奋斗数年之久,刚刚接触足彩时,并不像如今的环境(商业足球)这样困难,当时的足彩相对来说是很简单的,但是时代在进步,社会在发展,足彩也在一步步的改变。现在,大部分接触足彩的朋友,都是抱着盈利的追求,希望通过...

目前足球世界排名最低的五大亚洲球队

目前足球世界排名最低的五大亚洲球队

足球是世界第一运动,亚洲则是世界第一人口大洲。众所周知,亚洲的足球起步较晚、整体平均水平在世界各大洲之间长期是敬佩末座,亚洲球队在世界杯决赛圈的表现也长期是在小组出局到十六强之间徘徊。 此外,亚洲内部足球发展也相当不平衡,亚洲一流球队与亚洲末流球队之间的差距很大,7-8球乃至10球...

足球——C组:阿根廷对阵墨西哥(5)

足球——C组:阿根廷对阵墨西哥(5)

当日,在卡塔尔卢赛尔卢赛尔球场进行的2022卡塔尔世界杯足球赛C组比赛中,阿根廷队对阵墨西哥队。...

【竞彩足球竞猜】英格兰vs伊朗 世界杯

【竞彩足球竞猜】英格兰vs伊朗 世界杯

【竞彩足球竞猜】英格兰vs伊朗 【竞彩足球竞猜】英格兰vs伊朗 【竞彩足球竞猜】 英格兰vs伊朗 2022年11月20日 00:00 英格兰 英格兰男子足球代表队在整个世界足坛都是实力雄厚的球队,这支球队除了1994年、1...

今日竞彩足球推荐;克罗地亚vs加拿大;西班牙vs德国;比分预测

今日竞彩足球推荐;克罗地亚vs加拿大;西班牙vs德国;比分预测

伦哥也是老球迷了,同时也是一个赛事分析师,最近状态十分在线。黑单并不可怕,可怕的是黑单了心态也跟着黑了,球场瞬息万变,踢出什么样的结果都是意料之中,球是圆的,每个人都有相对的起伏,没有常胜将军,认真做好分析,我很乐意跟大家一起共同探讨,一起研究球赛,我们大家相互学习共同进步,我是你们的老朋...

【世界杯】西班牙vs德国 足球比分推荐 足球推荐 竞猜足球买球 世界杯直播推荐

【世界杯】西班牙vs德国 足球比分推荐 足球推荐 竞猜足球买球 世界杯直播推荐

世界杯 西班牙vs德国  2022-11-28 03:00西班牙 恩里克执教的这支西班牙队世界杯前并不被看好,尤其是锋线把握机会能力,一直是困扰西班牙队的难题,西班牙队却在首场小组赛踢出最近几年并不多见的进攻能力,7-0大胜哥斯达黎加,费兰-托雷斯、阿森西奥、奥尔默...