首页 > 编程语言 >负载均衡之一致性哈希算法详解

负载均衡之一致性哈希算法详解

时间:2023-09-09 11:55:14浏览次数:48  
标签:负载 hash 映射 我们 算法 详解 哈希 节点

负载均衡之一致性哈希算法详解

传统的哈希是直接把数据映射到对应的hash表上,但是当我们的数据量很大的时候,我们会采用多个hash节点来存储的方式来减少存储压力。

但是这种hash算法下,如果我们的节点发生了增加或减少的时候,我们就需要将所有数据,重新建立映射关系,这会导致大量的数据迁移和重新映射的问题。

而一致性hash算法就可以优化这些问题。

首先,一致性hash算法是将所有的数据全部映射到一个大小为0-2的32次方-1的环中(hash环存储)

然后,我们可以将我们服务的地址,映射到这个环上。

此时,当我们的数据来了以后,我们还是先将key通过hash计算放到我们的环上,然后我们看key沿顺时针遇到的第一个节点,我们就将其放入该节点。

节点如果宕机了,可以zookeeper可以利用心跳检测功能,判断服务是否断开,从而移除相关节点,在zookeeper中移除后,我们需要在我们的hash环中也移除节点,假设我们移除了节点1,那么此时,我们只需要对一个数据进行重新映射即可。

同理添加节点也很方便,我们可以在node3和node1之间新增一个节点4,这样只会影响node3和node1这个区间的数据。

标签:负载,hash,映射,我们,算法,详解,哈希,节点
From: https://www.cnblogs.com/ku-man/p/17689209.html

相关文章

  • Python学习 -- 文件内容操作技术详解
    文件操作在编程中是一个常见的任务,Python提供了丰富而灵活的文件操作工具,能够帮助您轻松地读取、写入和处理文件内容。在本篇博客中,我们将深入探讨Python中文件操作的各种技术和方法,包括打开文件、读写文件、移动文件指针、关闭文件等。打开文件在Python中,使用内置的open函......
  • ST表详解
    #ST表(SparseTable)详解在算法和数据结构中,ST表(SparseTable)是一种用于解决区间查询问题的数据结构。它可以有效地回答各种形式的查询,例如最小值、最大值、区间和等。##简介ST表的主要思想是通过预处理来加速区间查询。它使用倍增DP的思想将一个数组分割成多个子区间,并在每......
  • Redis五大基本数据类型之Hash哈希(转载)
    一、概述Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便: Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD: Hash类型的常见命令HSETkeyfieldvalue:......
  • 强基计划详解
    1、强基常见问题 1、强基必须高分学生报吗?不是的,过一本线就可以报,不过能不能被录取就不一定了 2、能同时报多所大学吗?不能,限报1所 3、强基招生专业会变吗?会,每年会有调整,一校一政策,大学自己说了算 4、没有参加过竞赛,能报吗?可以,强基计划不限制必须有奥赛奖,只要成绩......
  • enum和enum class的差异详解
    在C++中,有两种方式可以定义枚举类型:enum 和 enumclass。它们在以下几个方面有所不同:作用域限定性:enum:枚举值的名称在相同作用域下是可见的,可能会导致名称冲突。enumclass:枚举值的名称在枚举类的作用域内是局部的,不会与其他作用域中的名称冲突。2.隐式转换:enum:枚举......
  • 流媒体平台EasyDSS实现网络负载均衡的意义
    负载均衡是一种网络技术,用于在多个计算机、网络连接、CPU、磁盘驱动器或其他资源之间分配负载,以实现资源的最佳化利用、最大化吞吐量、最小化响应时间,并避免过载。近年来,在快速发展的视频服务技术中,负载均衡技术在视频平台中得到广泛应用。作为分布式系统中的关键门户,负载均衡在连......
  • K8S之ipvs负载均衡原理
    1、iptables、ipvs(IPVirtualServer)实现了传输层负载均衡,也就是我们常说的4层LAN交换,作为Linux内核的一部分。ipvs运行在主机上,在真实服务器集群前充当负载均衡器。ipvs可以将基于TCP和UDP的服务请求转发到真实服务器上,并使真实服务器的服务在单个IP地址上显示为虚拟服务......
  • 超全60000多字详解 14 种设计模式 (多图+代码+总结+Demo)
    超全60000多字详解14种设计模式(多图+代码+总结+Demo)之前读耗子叔文章时,看到过有句话没有实践,再多的理论都是扯淡,个人很赞同。你觉得自己学会了,但实践与学会之间有着很大差别。单例模式(SingletonPattern)定义或概念单例模式:保证一个类仅有一个实例,并提供一个访问的全局访......
  • Swift 详解
    菜鸟w3cswfitgg官网英文中文中文......
  • Qt中QGraphics类坐标映射关系详解
    1、Item(图元)坐标:属于局部坐标,通常以图元中心为原点(中心对称),非中心对称类,比如dialog类,一般以左上角为原点,正方向x朝右,y朝下。2、setPos的坐标是父类坐标系的坐标,一般对于item位于scene中的应用场景。3、scene(场景)坐标:属于逻辑坐标logicalcoordinates(与QPainter相同),以场......