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

news/2024/11/18 14:54:59/

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

注意:

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


http://www.ppmy.cn/news/1125202.html

相关文章

比特币上的可验证延迟函数

可验证延迟函数 (VDF) 是一种需要大量 顺序计算 来评估但可以快速验证的函数。我们首次在比特币上实现了它。VDF 作为密码学技术可用于构建大量新应用程序,例如公共随机信标、计算时间戳和数据复制证明。 VDF 场景 链上随机信标 在区块链中很难实现随机性&#xf…

Linux系统之links和elinks命令的基本使用

Linux系统之links和elinks命令的基本使用 一、links与elinks命令介绍1. links命令简介2. elinks命令简介 二、links与elinks命令区别三、links命令选项解释四、links命令的基本使用1. links安装2. 查看links版本3. 图形模式打开网址4. 直接使用links命令5. 打印url版本到标准格…

umi+React项目引入字体文件

1. 在public下新建文件夹fonts,将字体文件复制到该文件夹下 2. 在public文件下新建font.css文件 font-face {font-family: YouSheBiaoTiHei;src: url(./fonts/YouSheBiaoTiHei-2.ttf); }3. 在app.ts里面加上导入语句即可引入该字体 import ../public/font.css;

PL/SQL循环

目录 1. FOR 循环 -- FOR 循环的注意事项: -- LOOP 循环 -- WHILE 循环 -- 总结: TIPS: 跳出循环指令 1. FOR 循环 FOR 循环变量 IN 循环下限..循环上线 LOOP-- 循环变量可以用任意的字母或者单词去替代循环执行的逻辑题END LOOP; 计算 1-100的累加值 DECLARE V_TEX…

admin后台管理

admin后台管理 django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用 admin配置步骤 创建后台管理帐号- 该账号为管理后台最高权限账号…

Linux设备树(Device Tree)何时被解析

Linux设备树(Device Tree)是在内核启动阶段就会被解析。当 Linux 内核启动的时候,它会读取设备树文件(dtb文件)并根据里面的信息来组织设备、加载驱动等。在驱动代码里,通常我们是在驱动初始化(…

开学选什么样的电容笔好用?ipad可以用的手写笔

自从ipad等平板电脑开始使用电容笔以来,电容笔已经完全代替了我们的手指,并且使我们的书写速度有了很大的提高。但由于Apple Pencil内置的高科技芯片,价格始终居高不下,这让不少人,尤其是在校学生,也是难以…

vue学习-07TodoList本地存储以及TodoList的自定义事件

关于TodoList在上篇也简单介绍了,这篇,就是将TodoList与本地存储绑定起来,算是综合利用吧,在实际开发中我们均有涉及到灵活使用我们所学所敲的demo,这或许就是我们平时多敲demo然后实际开发中CV改造Demo吧。 Todolist…