5种负载均衡策略

负载均衡将请求派发到网络中的一个或多个节点上进行处理。 
硬件负载均衡,即通过在服务器间安装专门的硬件来进行负载均衡工作 
软件负载均衡,通过服务器上安装的软件来对请求进行分配派发。

负载均衡策略

public interface IRule 策略接口

1.轮询

  1.  
    给每个请求标记序号,之后把请求依次分发到服务器节点上。
  2.  
    适用集群各节点提供服务能力相等,且无状态的场景。
  3.  
    但是实际情况中各个节点所能提供服务的能力并不相同。
  4.  
    所以加权轮询,对每个节点加上了权重属性。
  5.  
    但是合适的权重难以随实际情况的改变而改变。

2.随机

  1.  
    每次请求随机分发给服务器节点。
  2.  
    缺点是在同一截面上发生碰撞的概率比较高;
  3.  
    在非对等集群组网,或者硬件配置差异较大时,各节点负载不均匀
  4.  
    通过加权随机进行提升。

 3.服务调用时延(最小响应时间)

  1.  
    根据每个服务器处理请求的时间和平均时间的差值,来动态调整分发权重,
  2.  
    可以保证服务延时大的服务器,处理更少的请求。
  3.  
    该策略可以保证处理请求能力强的服务器接收到更多的请求。
  4.  
    通过动态权重缩小服务调用时延的震荡范围,是所有请求的处理时间接近平均值。
  5.  
    但计算平均响应时间会耗费时间,滞缓请求的分发。
  6.  
    改进地只计算最近若干次的平均时间的策略。

4.一次性哈希 

  1.  
    哈希值是32位的正整数,其值的分布范围按照一定规则分配给多个虚拟节点;
  2.  
    虚拟节点数量至少应是实际节点的两倍;
  3.  
    实际节点通过哈希值再对虚拟节点进行瓜分;
  4.  
    对“请求”取哈希值,分发到相应虚拟节点,虚拟节点对应的实际节点来处理“请求”。
  5.  
     
  6.  
    相同参数的请求,总是发送到同一个服务提供者。
  7.  
    当某一台服务器宕机时,原本发往该节点的请求,基于虚拟节点,平摊到其他提供者,
  8.  
    从而避免引起集群剧烈变动。

5.粘滞链接

 

  1.  
    主要适用于有状态的服务,同一客户端每次访问,处理请求的服务器为同一台。
  2.  
    客户端首次和服务端交互时,将链路与相应处理的服务器进行绑定。
  3.  
    当原有服务器宕机后,返回不可用消息,服务端重新为客户端绑定服务器。

 

posted @ 2021-01-07 00:45  __Ethan  阅读(807)  评论(1编辑  收藏  举报