首页 > 其他分享 >一致性哈希通俗笔记

一致性哈希通俗笔记

时间:2022-12-04 22:55:55浏览次数:57  
标签:存储 哈希 一致性 服务器 通俗 节点 Hashing

一致性哈希Consistent Hashing,一种数据结构。

内容参考自视频:一致性哈希 - Consistent Hashing是什么?为什么系统设计面试中经常会提到?10分钟讲解一致性哈希 | 系统设计System Design EP

Why Consistent Hashing?

普通的哈希不具有Scalable,当服务器增多或者减少的时候,散列就乱了。

一致性哈希的存储结构:

一个抽象的环状,范围0到2^32 -1(实际上是一个映射函数,而非真的这么长的数组)

哈希操作

当来了一个数据,经过Hashing后映射到0-2^32-1的某个数,然后顺时针寻找第一个服务器,就是对应存储的服务器。

增加或减少服务器

原本该服务器上存储的Hashing,按顺时针放到下一台服务器上

如果环上的服务器距离太近,负载不均衡怎么办(Nodes are very close.)

虚拟节点(Virtual Node),再来一次Hash。具体就是,在环空间中设置多个位置,即“虚拟服务器”,这些位置比较分散,分布均匀,然后将它们映射到一个服务器上。每一个服务器都对应多个这样的节点。那么来一个新的数据经过Hashing后,放到虚拟节点上,然后具体物理存储,实际存储到该虚拟节点对应的服务器上,由此实现负载均衡。

标签:存储,哈希,一致性,服务器,通俗,节点,Hashing
From: https://www.cnblogs.com/zhaoke271828/p/16951102.html

相关文章

  • 跨链技术学习理解(一)公证人机制、哈希锁定
    跨链资产交换问题两个用户在两个链上都有相应的账户,一个用户如何在用A链上的资产交换另一个用户在B链上的等价另一种资产。比如肥兔子想用1个比特币换豆畜子的10个以太。......
  • 11.哈希表
     代码示例:有三部分:1.员工实体Emp,里面有个重要的next属性,标注下一个员工2.员工链表EmpLinkedList,里面包含了head头部信息,以及链表的增删改查3.链表数......
  • 一文理解什么是DevOps,通俗易懂白话文
    一文理解什么是DevOps,通俗易懂白话文 devops是什么❝DevOps维基百科定义DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)......
  • Redis中的单线程多路复用的一个通俗解析
    在尚学堂的课程中,有个不错的单线程多路复用的通俗解析,觉得不错:其实就是黄牛买票,黄牛是单线程了,但他能服务很多买票的人,买票的人也不需要去等待的 ......
  • 哈希之应用--删除字符串
    一问题描述  两个字符串A、B。从A中剔除存在于B中的字符。比如A=“helloworld”,B="er",那么剔除之后A变为"hllowold"。空间复杂度要求是O(1),时间复杂度越优越好。二......
  • 关于账本的数据一致性较好的解决思路
    账本中采用申请单制1.每笔进出账订单都先生成一笔申请单记录金额,进出款类型,2.默认状态未开始,当资金已经消费或者最终返款完成时,申请单完结3.每天执行定时任务对上一......
  • 一本通1456(哈希表板子
     用map<int,bool> #include"bits/stdc++.h"usingnamespacestd;constintN=1e4+5;#defineintunsignedlonglongconstintmod=212370440130137957ll;cha......
  • 「哈希表」最大频率栈(力扣第895题)
    本题为11月30日力扣每日一题题目来源:力扣第895题题目tag:哈希表题面题目描述设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。实现......
  • 【转】一致性hash算法与server列表维护
      普通的hash算法有个很大的问题:当hash的"模数"发生变化时,整个hash数据结构就需要重新hash,重新hash之后的数据分布一定会和hash之前的不同;在很多场景下,"模数"的变......
  • 【转载】一致性hash算法与server列表维护(备忘)
    普通的hash算法有个很大的问题:当hash的"模数"发生变化时,整个hash数据结构就需要重新hash,重新hash之后的数据分布一定会和hash之前的不同;在很多场景下,"模数"的变化时必......