当前位置: 首页 > article >正文

Ribbon-IRule 修改负载均衡的规则

1、负载均衡规则描述

 (1)整体关系

 (2)规则描述

内置负载均衡规则类规则描述
RoundRobinRule简单轮询服务列表来选择服务器。它是Ribbon默认的负载均衡规则。
AvailabilityFilteringRule对以下两种服务器进行忽略:
(1)在默认情况下,这台服务器如果3次连接失败,这台服务器就会被设置为“短路”状态。短路状态将持续30秒,如果再次连接失败,短路的持续时间就会几何级地增加。(2)并发数过高的服务器。如果一个服务器的并发连接数过高,配置了AvailabilityFilteringRule规则的客户端也会将其忽略。并发连接数的上限,可以由客户端的<clientName><clientConfigNameSpace>ActiveConnectionsLimit属性进行配置。
WeightedResponseTimeRule为每一个服务器赋予一个权重值。服务器响应时间越长,这个服务器的权重就越小。这个规则会随机选择服务器,这个权重值会影响服务器的选择。
ZoneAvoidanceRule以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询。
BestAvailableRule忽略哪些短路的服务器,并选择并发数较低的服务器。
RandomRule随机选择一个可用的服务器。
RetryRule重试机制的选择逻辑。

2、负载均衡规则方式

 (方式1)在服务的Application类中,定义IRule,这种方式全局生效。

@Bean
public IRule randomRule(){
        return new RandomRule;

}

 (方式2)在服务的application.yml,定义配置修改规则,这种方式可以针对某个服务进行配置。 

userservice:
        ribbon:
        NFLoadBalancerRuleClassName: com.netfix.loadbalancer.RandomRule

3、举例

(方式1)例

(方式2)例


http://www.kler.cn/a/161431.html

相关文章:

  • 万字长文解读深度学习——ViT、ViLT、DiT
  • LeetCode【0031】下一个排列
  • 鸿蒙自定义UI组件导出使用
  • 《情商》提升:增强自我意识,学会与情绪共处
  • Objection
  • Android 配置默认输入法
  • 用AI批量生成文章的工具有哪些?免费AI生成工具
  • 如何在 PyQt 中实现异步数据库请求
  • Python查看文件列表
  • 宝塔+docker+jenkins部署vue项目----笔记版
  • SSM项目实战-前端-添加分页控件-调正页面布局
  • Java异常机制入门详解(上)
  • 虎牙C++技术面经
  • UE蓝图 里的函数,编辑模式在Sequence里执行
  • 基于单片机的电子密码锁设计
  • 代码随想录算法训练营第四十二天| 416 分割等和子集
  • 如何使用HadSky搭配内网穿透工具搭建个人论坛并发布至公网随时随地可访问
  • Windows + docker + python + vscode : 使用容器docker搭建python开发环境,无需本地安装python开发组件
  • 『亚马逊云科技产品测评』活动征文|AWS云服务器EC2实例实现ByConity快速部署
  • openGL 三:矩阵和向量
  • 创建第一个 Flink 项目
  • Python 作业答疑_6.15~6.18
  • Livox_ros_driver2 消息 (msg) 类型对 SLAM 应用程序的适配
  • json转yolo格式
  • 大屏可视化基础学习-通用可套用模板【大屏可视化项目案例-15】
  • 每日一题:LeetCode-11.盛水最多的容器