负载均衡策略之有限负载一致性哈希

栏目: 后端 · 发布时间: 5年前

内容简介:本文简单介绍一下有限负载一致性哈希(Consistent Hashing with Bounded Loads)(或者叫有界负载一致性哈希、有负载界限/上限的一致性哈希)这个负载均衡策略。之前介绍的一致性哈希策略 有一个缺陷,那就是没有解决热点问题:当有部分资源是热点资源或者部分用户请求量比较大的时候,会出现部分节点需要处理大量请求(这些请求根据一致性哈希策略都选中了固定的部分节点),出现负载非常不均的情况,因为是一致性哈希所以这些请求没法分摊到其他节点上,导致出现持续的负载不均和热点问题。下面要介绍的 C

本文简单介绍一下有限负载一致性哈希(Consistent Hashing with Bounded Loads)(或者叫有界负载一致性哈希、有负载界限/上限的一致性哈希)这个负载均衡策略。

之前介绍的一致性哈希策略 有一个缺陷,那就是没有解决热点问题:当有部分资源是热点资源或者部分用户请求量比较大的时候,会出现部分节点需要处理大量请求(这些请求根据一致性哈希策略都选中了固定的部分节点),出现负载非常不均的情况,因为是一致性哈希所以这些请求没法分摊到其他节点上,导致出现持续的负载不均和热点问题。下面要介绍的 Consistent Hashing with Bounded Loads 就是一种解决这个问题的方法。

有限负载一致性哈希(Consistent Hashing with Bounded Loads)

有限负载一致性哈希(Consistent Hashing with Bounded Loads) 出自论文 Consistent Hashing with Bounded Loads ,主要思路是,根据当前负载情况对所有节点限制一个最大负载,在一致性哈希中对 hash 环进行查找时将跳过超出最大负载的节点,通过把过载的请求转移到其他节点上来解决热点和不均衡问题:

  • R : 当前所有节点的总负载(正在处理的总请求数)
  • T : 节点总个数
  • L : 当前所有节点的平均负载
  • L = R/T
  • ε : 一个参数用于表示在平均负载的基础上能够承受的额外负载上限,可以按照实际需求进行设置(根据 vimeo 分享的 经验 这个值推荐设置为 0.25~1)
  • M : 节点的最大负载上限
  • M = L*(1+ε) = R*(1+ε)/T
  • 一致性哈希中进行节点查找时,增加检查匹配的节点的负载(正在处理的请求数)是否达到负载上限 M 的操作,如果达到了上限则跳过当前节点继续往后查找。

通过上面可以发现 Consistent Hashing with Bounded Loads 结合了最少连接策略 和一致性哈希 策略各自的优点,即平衡了负载又兼顾了一致性哈希,并且还可以通过调整转化为最少请求策略或一致性哈希策略:

  • ε 的值是 0 的时候,就实现了最少连接策略的效果
  • ε 的值是无穷大的时候,就是传统的一致性哈希策略。

上面的方法是没有区分节点权重的,如果要支持节点权重的话,需要做一点改动:

  • R : 当前所有节点的总负载(正在处理的总请求数)
  • T : 所有节点的权重总和
  • L : 当前所有节点的平均负载(基于权重的平均负载)
  • L = R/T
  • W : 当前节点的权重值
  • ε : 一个参数用于表示在平均负载的基础上能够承受的额外负载上限。
  • M : 节点的最大负载上限
  • M = W*L*(1+ε) = W*R*(1+ε)/T
  • 一致性哈希中进行节点查找时,增加检查匹配的节点的负载(正在处理的请求数)是否达到负载上限 M 的操作,如果达到了上限则跳过当前节点继续往后查找。

可以看到主要区别是算平均负载的时候是基于节点的权重和来计算的,算负载上限的时候是按权重比来计算的。

简单介绍了一下 Consistent Hashing with Bounded Loads ,更详细的内容请参考参考资料。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

灵活Web设计

灵活Web设计

Zoe Mickley Gillenwater / 李静 / 2009-9 / 45.00元

《灵活Web设计》讲述如何应用可变或不固定布局及弹性布局来实现灵活设计,以满足用户的根据自己需求而调整浏览站点的窗口大小的要求。全书共分为9章,内容包括:理解灵活布局、可变布局和弹性布局存在的挑战、设计灵活布局的方法、准备网页设计、创建可变布局结构、创建弹性布局结构、规范灵活性、设置文字间距、添加背景图像和颜色、创建灵活的图像。 《灵活Web设计》适用于网页设计人员、网页设计爱好者。一起来看看 《灵活Web设计》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具