遍布式系统软件设计方案之负载平衡优化算法

2021-01-19 20:47

在遍布式系统软件设计方案之中,1般会对服务开展群集布署,群集中的好几个连接点出示同样的服务,因此能够将对该服务的恳求派发给群集的随意1个连接点来解决。以便将恳求有效派发给群集的连接点开展解决,即既要确保群集的每一个连接点都可以分派到恳求,又可以完成不容易给某个连接点分派过量恳求,致使超出连接点解决工作能力,因此必须根据1定的标准来开展恳求派发,这个标准也称为负载平衡优化算法。下列详尽剖析几种普遍的负载平衡优化算法的工作中基本原理。

1.轮询

轮询优化算法关键是将顾客端推送到负载平衡器的恳求先后轮着地转发给服务群集的某个连接点,而不必须考虑到每一个群集连接点当今的联接数和工作中负载和该连接点的设备特性。

该优化算法的益处是完成简易,每一个群集连接点均值分摊全部恳求,缺陷是当群集连接点对应的设备存在特性差别时,将会会出現特性低的设备连接点解决恳求慢,而特性好的设备连接点则存在空余的系统软件資源沒有充足运用,因此1般在群集全部连接点设备特性贴近时应用。

2.任意

任意优化算法关键是任意选择群集中的某个连接点来解决该恳求,由几率论的专业知识可知,伴随着恳求量的增大,任意优化算法会慢慢演化为轮询优化算法,即群集各个连接点会解决类似数量的恳求。因此优缺陷也是与轮询优化算法相近。

3.加权轮询与加权任意

加权优化算法关键是依据群集的连接点对应设备的特性的差别,给每一个连接点设定1个权重值,在其中特性好的设备连接点设定1个较大的权重值,而特性差的设备连接点则设定1个较小的权重值。随后能够再次根据轮询或任意的优化算法来选择1个连接点来解决恳求,只是权重特大的连接点可以被更多的选定。

完成基本原理相近于在1个数字能量数组选中择1个元素,而权重值便是对应设备连接点在数字能量数组中反复出現的次数,如两个连接点{ a,b },在其中a连接点的权重值为3,b连接点的权重值为1,则数字能量数组的构成为:[a, a, a, b],因此无论是轮询還是任意选择全是a挑选的次数更多。

4. 哈希与1致性哈希

哈希优化算法关键将对恳求的IP详细地址或URL测算1个哈希值,随后与群集连接点的数量开展取模来决策将恳求派发给哪一个群集连接点。这类哈希优化算法完成简易而且在群集连接点数量不会改变的状况下,可以将同样IP详细地址的恳求派发给同样的设备解决。可是假如群集连接点产生转变,则会对群集的全部连接点开展危害,如将会致使某个设备特性较低的连接点忽然接受到很多恳求,从而危害群集的总体平稳性。

1致性哈希优化算法关键是根据1致性哈希涵数来完成,1致性哈希涵数会将给定的主要参数投射到由2的32次方个点构成的环状槽的某个槽点上。在应用1致性哈希涵数来开展负载平衡时,最先将群集的好几个连接点哈希到该环状槽的对应的某个槽点上,随后当负载平衡器接受到恳求时,应用该恳求的IP详细地址或URL来做为1致性哈希涵数的主要参数,转化成该恳求对应环状槽的某个槽点,最终从顺时针方位寻找第1个坐落于该环状槽的群集连接点,则将该恳求转发给这个群集连接点解决。

由1致性哈希优化算法的完成基本原理可知,假如群集连接点的个数不会改变,则同样IP详细地址或同样URL的恳求都会转发到同样的群集连接点来解决;假如群集连接点数量产生转变,则只会危害该提升或删掉的连接点按顺时针方位的后1个连接点,因此可以很便捷的完成群集的拓容和缩容。

5.至少联接数

至少联接数负载平衡优化算法是1种智能化、动态性的负载平衡优化算法,关键是依据群集的每一个连接点确当前联接数来决策将恳求转发给哪一个连接点,即每次都将恳求转发给当今存在至少高并发联接的连接点。

这类负载平衡优化算法的益处是能够依据群集连接点的负载状况来开展恳求的动态性派发,即设备特性好,解决恳求快,积存恳求少的连接点分派更多的恳求,反之则分派更少的恳求,从而完成群集的总体平稳性和将恳求有效派发到每个连接点,防止某个连接点由于解决超出本身所能承担的恳求量而致使服务器宕机或回应过慢。

6.最快回应時间

最快回应時间负载平衡优化算法也是1种智能化、动态性的负载平衡优化算法,与至少联接数相近,也是依据群集连接点的负载状况来将恳求有效派发到各个连接点,完成群集的总体平稳性和设备資源的反复运用。

与至少联接数不一样的是,最快回应時间是根据恳求与回应的時间延迟时间来考量设备的负载状况的,将要恳求派发给当今解决恳求最快,负载平衡器从该连接点获得回应延迟时间最少的连接点,而回应時间慢的连接点则分派更少的恳求。



扫描二维码分享到微信

在线咨询
联系电话

020-66889888