当前位置:首页 > 经验 >

哈希算法图解大全(最简单的哈希算法)

来源:原点资讯(m.360kss.com)时间:2022-11-18 02:53:44作者:YD166手机阅读>>

根据一致性哈希算法,数据A会被定为到Server 1上,D被定为到Server 3上,而B、C分别被定为到Server 2上。

容错性与可扩展性分析

下面分析一致性哈希算法的容错性和可扩展性。现假设Server 3宕机了:

哈希算法图解大全,最简单的哈希算法(5)

可以看到此时A、C、B不会受到影响,只有D节点被重定位到Server 2。一般的,在一致性哈希算法中,如果一台服务器不可用,则受影响的数据仅仅是此服务器到其环空间中前一台服务器(即顺着逆时针方向行走遇到的第一台服务器)之间数据,其它不会受到影响。

下面考虑另外一种情况,如果我们在系统中增加一台服务器Memcached Server 4:

哈希算法图解大全,最简单的哈希算法(6)

此时A、D、C不受影响,只有B需要重定位到新的Server 4。一般的,在一致性哈希算法中,如果增加一台服务器,则受影响的数据仅仅是新服务器到其环空间中前一台服务器(即顺着逆时针方向行走遇到的第一台服务器)之间数据,其它不会受到影响。

综上所述,一致性哈希算法对于节点的增减都只需重定位环空间中的一小部分数据,具有较好的容错性和可扩展性。

虚拟节点

一致性哈希算法在服务节点太少时,容易因为节点分部不均匀而造成数据倾斜问题。例如我们的系统中有两台服务器,其环分布如下:

哈希算法图解大全,最简单的哈希算法(7)

此时必然造成大量数据集中到Server 1上,而只有极少量会定位到Server 2上。为了解决这种数据倾斜问题,一致性哈希算法引入了虚拟节点机制,即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。具体做法可以在服务器ip或主机名的后面增加编号来实现。例如上面的情况,我们决定为每台服务器计算三个虚拟节点,于是可以分别计算“Memcached Server 1#1”、“Memcached Server 1#2”、“Memcached Server 1#3”、“Memcached Server 2#1”、“Memcached Server 2#2”、“Memcached Server 2#3”的哈希值,于是形成六个虚拟节点:

哈希算法图解大全,最简单的哈希算法(8)

栏目热文

哈希算法最终结果(哈希算法的真实案例)

哈希算法最终结果(哈希算法的真实案例)

哈希算法一直是索引中最为经典的方法,它们能高效地储存与检索数据。但在去年 12 月,Jeff Dean 与 MIT 等研...

2022-11-18 02:56:45查看全文 >>

哈希算法简单举例(哈希算法最简单的解释)

哈希算法简单举例(哈希算法最简单的解释)

文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定。可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一...

2022-11-18 03:00:48查看全文 >>

哈希值怎么计算(哈希值是什么怎么查询)

哈希值怎么计算(哈希值是什么怎么查询)

我们在谈到区块链的时候,经常会听到关于哈希、哈希值、哈希算法这些词。很多人都认为哈希就是区块链上的安全保障,但是严格来说...

2022-11-18 03:24:05查看全文 >>

哈希算法的数学原理(哈希算法通俗易懂)

哈希算法的数学原理(哈希算法通俗易懂)

本文作者:jeffhe,腾讯 IEG 开发工程师提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块...

2022-11-18 03:32:48查看全文 >>

哈希算法最简单的解释(最简单的哈希算法)

哈希算法最简单的解释(最简单的哈希算法)

什么是Hash算法Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-...

2022-11-18 03:32:23查看全文 >>

最简单的哈希算法(哈希算法通俗易懂)

最简单的哈希算法(哈希算法通俗易懂)

作者:小傅哥 博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!一、前言哈希表的历...

2022-11-18 03:08:01查看全文 >>

哈希256算法详解(哈希算法详解图解)

哈希256算法详解(哈希算法详解图解)

从输出的哈希值反推回输入,这从计算的角度是不可行的。• 来源:Linux.cn • 作者:Mike Bursell • ...

2022-11-18 02:57:10查看全文 >>

哈希算法四种特性(哈希算法原理详解)

哈希算法四种特性(哈希算法原理详解)

什么是哈希算法哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯...

2022-11-18 03:14:13查看全文 >>

哈希算法背景(哈希算法缺点)

哈希算法背景(哈希算法缺点)

在程序员的实际开发中,哈希算法常常能用得到,本文以哈希算法的原理和应用为核心,和大家详细讲解一下哈希算法的概念、常见算法...

2022-11-18 03:32:00查看全文 >>

通俗易懂的哈希算法(哈希算法都有哪些)

通俗易懂的哈希算法(哈希算法都有哪些)

本文转载自微信公众号,孤独烟本文故事绝对真实,如有雷同,绝对不是巧合!话说前几天有一次,某大厂的二面。然后呢,烟哥那天刚...

2022-11-18 03:01:13查看全文 >>

文档排行