客户端负载均衡_负载均衡策略

image-20220310143447643

以前的Ribbon有多种负载均衡策略

RandomRule - 随性而为

image-20220210150738884

解释:

随机

RoundRobinRule - 按部就班

image-20220210142510716

解释:

轮询

RetryRule - 卷土重来

image-20220210150513816

解释:

先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试。

WeightedResponseTimeRule - 能者多劳

这个Rule继承自RoundRibbonRule,他会根据服务节点的响应时间计算权重,响应时间越长权重就越低,响应越快则权重越高,权重的高低决定了机器被选中概率的高低。也就是说,响应时间越小的机器,被选中的概率越大。

image-20220210150133060

解释:

对RoundRobinRule的扩展,响应速度越快的实例选择权重越大,越容易被选择

BestAvailableRule - 让最闲的人来

image-20220210145952613

解释:

应该说这个Rule有点智能的味道了,在过滤掉故障服务以后,它会基于过去30分钟的统计结果选取当前并发量最小的服务节点,也就是最“闲”的节点作为目标地址。如果统计结果尚未生成,则采用轮询的方式选定节点。

AvailabilityFilteringRule - 我是有底线的

这个规则底层依赖RandomRobinRule来选取节点,但并非来者不拒,它也是有一些底线的,必须要满足它的最低要求的节点才会被选中。如果节点满足了要求,无论其响应时间或者当前并发量是什么,都会被选中。

image-20220210145602473

解释:

每次AvailabilityFilteringRule(简称AFR)都会请求RobinRule挑选一个节点,然后对这个节点做以下两步检查:是否处于不可用,节点当前的active请求连接数超过阈值,超过了则表示节点目前太忙,不适合接客如果被选中的server不幸挂掉了检查,那么AFR会自动重试(次数最多10次),让RobinRule重新选择一个服务节点。

ZoneAvoidanceRule - 我的地盘我做主

image-20220210145308968

解释:

默认规则,复合判断server所在区域的性能和server的可用性选择服务器

但LoadBalancer只提供了两种负载均衡器

  • RandomLoadBalancer 随机
  • RoundRobinLoadBalancer 轮询

注意:

不指定的时候默认用的是轮询文章来源地址https://uudwc.com/A/jrzkz

原文地址:https://blog.csdn.net/weixin_68967484/article/details/133277393

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月26日 14:08
下一篇 2023年09月26日 14:09