目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7092.8k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(1.5k)
赞(0)

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

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 轮询

注意:

不指定的时候默认用的是轮询

实时效果反馈

1.下列是轮询负载均衡策略的是____

A RandomLoadBalancer

B RoundRobinLoadBalancer

C ZoneAvoidanceRule

D AvailabilityFilteringRule

2.下列是随机负载均衡策略的是_____。

A RandomLoadBalancer

B RoundRobinLoadBalancer

C ZoneAvoidanceRule

D AvailabilityFilteringRule

答案

1=>B 2=>A

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2