U8国际 U8国际官方网站 体育APP下载一致性哈希算法应用及优化pdf
栏目:U8哈希 发布时间:2025-06-07
  u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口一致性哈希算法应用及优化,一致性哈希算法,一致性哈希算法java,redis一致性哈希算法,一致性哈希算法实现,一致性哈希算法php,哈希算法的应用,哈希算法应用,哈希算法,哈希算法原理

  u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口一致性哈希算法应用及优化,一致性哈希算法,一致性哈希算法java,redis一致性哈希算法,一致性哈希算法实现,一致性哈希算法php,哈希算法的应用,哈希算法应用,哈希算法,哈希算法原理

  一致性哈希算法的应用及其优化 一.简单哈希算法 哈希(Hash )就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出 就是散列值。这种转换是一种压缩映射,使得散列值的空间通常远小于输入的空间,不同的 输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。哈希算法是一种消 息摘要算法,虽然哈希算法不是一种加密算法,但由于其单向运算,具有一定的不可逆性使 其成为加密算法中的一个重要构成部分。 二.分布式缓存问题 哈希算法除了在数据加密中的运用外,也可以用在常见的数据分布式技术中。哈希计算 是通过求模运算来计算哈希值的,然后根据哈希值将数据映射到存储空间中。设有由N 个 存储节点组成的存储空间,采用简单哈希计算将一个数据对象 object 映射到存储空间上的 公式为:Hash (object )% N 。 现在假设有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数 据库的方式已经不能满足用户的访问,于是想引入Memcached 作为缓存机制。现在一共有 三台机器可以作为Memcached 服务器,如下图1 所示。 1 图1.三台memcached 服务器 可以用简单哈希计算:h = Hash(key) % 3 ,其中Hash 是一个从字符串到正整数的哈希 映射函数,这样能够保证对相同 key 的访问会被发送到相同的服务器。现在如果我们将 Memcached Server 分别编号为0、1、2 ,那么就可以根据上式和key 计算出服务器编号h , 然后去访问。 但是,由于这样做只是采用了简单的求模运算,使得简单哈希计算存在很多不足: 1)增删节点时,更新效率低。当系统中存储节点数量发生增加或减少时,映射公式将 发生变化为Hash(object)%(N ±1),这将使得所有 object 的映射位置发生变化,整个系统数 据对象的映射位置都需要重新进行计算,系统无法对外界访问进行正常响应,将导致系统处 于崩溃状态。 2 )平衡性差,未考虑节点性能差异。由于硬件性能的提升,新添加的节点具有更好的 承载能力,如何对算法进行改进,使节点性能可以得到较好利用,也是亟待解决的一个问题。 3 )单调性不足。衡量数据分布技术的一项重要指标是单调性,单调性是指如果已经有 一些内容通过哈希计算分派到了相应的缓冲中,当又有新的缓冲加入到系统中时,哈希的结 果应能够保证原有已分配的内容可以被映射到新的缓冲中去,而不会被映射到旧的缓冲集合 中的其他缓冲区。 由上述分析可知,简单地采用模运算来计算object 的Hash 值的算法显得过于简单,存 在节点冲突,且难以满足单调性要求。 2 三.一致性哈希算法 一致性哈希算法(Consistent Hashing )最早在David Karger ,Eric Lehman 等人的论文 《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》中被提出,是当前较主流的分布式哈希表协议之一,它对简单哈希 算法进行了修正,解决了热点 (Hot Pot )问题。 一致性哈希的原理:首先,对存储节点的哈希值进行计算,其将存储空间抽象为一个环, 将存储节点配置到环上。环上所有的节点都有一个值。其次,对数据进行哈希计算,按顺时 针方向将其映射到离其最近的节点上去。 现在根据一致性哈希算法原理,重新解决上面分布式缓存问题。 1.一致性哈希将整个哈希值空间组织成一个虚拟的圆环,现在假设某哈希函数H 的值空 间为0 – 232-1 (即哈希值是一个32 位无符号整形),那么整个哈希空间环如下图2 : 32-1 2 0 图2.哈希空间环 2.将各个服务器使用哈希函数进行一个哈希,具体可以选择服务器的ip 或主机名作为关 键字进行哈希,这样每台机器就能确定其在哈希环上的位置,这里假设将上文中三台服务器 使用ip 地址哈希后在环空间的位置如下图3 所示。 3 32-1 2 0 Memchahed server2 Memchahed server3 图3.将memchaed server 分布在哈希环上 3.把数据对象映射到哈希空间,对应访问到相应的服务器:对数据对象进行哈希值计算, 将数据对应带到环上。这里考虑四个数据对象 object1 、 object2 、 object3、 object4 ,通 过 Hash 函数计算出Hash 值的Key :Hash(object1) = Key1 ; Hash(object2) = Key2 ; Hash(object3) = Key3 ; Hash(object4) =Key4 ; 将其对应在哈希空间环上,其分布如图4 所示。 32-1 2 0 Key 1 Memchahed server2 Oblect2 Hash Key4 Memchahed server3 Key2 Key3 图4.对象对应的服务器 4 根据一致性哈希算法,object1 会被定为到Server2 上,object2 被定为到Server 3 上,而 object3 和object4 分别被定为到Server 1 上。 一致性哈希算法与简单哈希算法相比有了明显的改善: 1.容错性得到了提升。例如,假设server2 宕机了,那么此时object2 ,object3,object4 , 不会受到影响,只有object1 被重定位到 Server 3 。即在一致性哈希算法中,如果一台服务 器不可用,则受影响的数据仅仅是此服务器到其环空间中前一台服务器(即顺着逆时针方向 行走遇到的第一台服务器)之间数据,其它不会受到影响。如图5 所示。 32-1 2 0 Key 1 Oblect2 Hash Key4 Memchahed server3 Key2 图5.server2 宕的情况 Key3 2 .可扩展性好。同理再增加一台server 的时候受影响的也只是局部范围。如下图6 是 增加一个server 的情况。 232-1 0 Key 1 Memchahed server2 Oblect2 Hash Memchahed server4 Key4 Memchahed server3 Key2 Key3 5 图6.增加一个server 的情况 四.一致性哈希算法的优化 一致性哈希算法在服务节点太少时,容易因为节点分部不均匀而造成数据倾斜 问题。如果只有两个 server,如下图 7 所示。时必然造成大量数据集中到 Server 2 上,而只有极少量会定位到Server 1 上。 32-1 2 0 Memchahed server2 图7.两个服务器的情况 为了解决这种数据倾斜问题,一致性哈希算法引入了虚拟节点机制,即对每一个服务节 点计算多个哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。具体做法可以 在服务器ip 或主机名的后面增加编号来实现。例如图7 的情况,可以为每台服务器计算三 个虚拟节点,分别计算“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 所示: 6 Memchahed server1-2 32-1 2 0

  2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。

  3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。

  4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档

  (高清版)DB62∕T 4290-2021 法定计量检定机构监督检查规范.docx

  (高清版)DB62∕T 4382-2021 玉米品种 垦玉90.docx

  (高清版)DB62∕T 3228-2022 泥石流工程防治技术规程.docx

  (高清版)DB62∕T 4343-2021 公路路基压实质量动态模量检测技术规程.docx

  (高清版)DB62∕T 3217-2022 沉管灌注桩施工技术规程.docx

  (高清版)DB62∕T 4284.5-2021 绿色矿山建设规范 第5部分:砂石粘土矿.docx

  (高清版)DB62∕T 4339-2021 高速公路工地试验室标准化指南.docx

  (高清版)DB62∕T 4292-2021 绿色食品 滑子菇生产技术规程.docx

  (高清版)DB62∕T 4344-2021 公路改性沥青SBS改性剂含量检测技术规程.docx

  (高清版)DB62∕T 4412-2021 水萝卜设施栽培技术规程.docx

  专题15《送东阳马生序》文学常识+重点注释+重点译句+课后问题+中考预测.docx

  专题13《醉翁亭记》文学常识+重点注释+重点译句+课后问题+中考预测.docx

  原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者