SpringCloud_服务调用_Ribbon负载算法简介与如何替换(二)

news2024/11/29 12:30:40

SpringCloud_服务调用_Ribbon负载算法简介与如何替换(二)

Ribbon核心组件IRule

IRule:根据特定算法中从服务列表中选取一个要访问的服务

在这里插入图片描述

在这里插入图片描述
IRule接口有多种实现:
Ribbon自带的7种负载规则

com.netflix.loadbalancer.RoundRobinRule 轮询
com.netflix.loadbalancer.RandomRule 随机
com.netflix.loadbalancer.RetryRule 先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试,获取可用的服务
com.netflix.loadbalancer.WeightedResponseTimeRule:对RoundRobinRule的扩展,响应速度越快的实例选择权重越大,越容易被选择
com.netflix.loadbalancer.BestAvailableRule:会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务
com.netflix.loadbalancer.AvailabilityFilteringRule:会过滤掉故障实例,再选择并发较小的实例
com.netflix.loadbalancer.ZoneAvoidanceRule:默认规则,复合判断server所在区域的性能和server的可用性选择服务器

替换负载规则

注意配置细节:

官方文档警告:
这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下
否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的

解释:
@SpringBootApplication是启动类注解。它的底层
在这里插入图片描述

底层有@ComponentScan,这个注解会扫描启动类所在包已经其子包中所含有的注解
excludeFilters:排除过滤器

因此自定义配置类不能在启动类所在包以及其子包范围内。
新建自定义配置类
在这里插入图片描述
启动类需要增加注解@RibbonClient
name:访问的目标服务
configuration:自定义的负载策略
只有访问该服务时,才使用这个负载规则

@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "cloud-payment-service",configuration = MySelfRule.class) 
public class OrderMain80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderMain80.class,args);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532782.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8年测试老鸟总结,软件测试工程师关键成长晋升要素,这些不能不知道...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、技术-依然是最…

MySQL深入浅出:自增长序列(@i:=@i+1)的用处及用法

目录 1:问题分析 2:模拟自增长序列 2.1 单表查询 2.2 多表关联查询 3:结束语 社区 1:问题分析 Oracle中的伪列 ROWNUM 是一组递增的序列,在查询数据时生成,为结果集中每一行标识一个行号, 每条记录…

医院运维场景下的风险感知

随着医疗信息化建设发展,医院的系统、设备不断叠加,在提升用户体验,享受高效医疗服务的同时,也为支撑系统稳定运行的信息部门带来巨大挑战。诸如科室复杂、应用场景多、终端运维工作量大、软件系统兼容需求强等痛点,并…

WPF MaterialDesign 初学项目实战(0):github 项目Demo运行

前言: 最近在学B站的WPF项目实战合集(2022终结版),但是到22P时候发现UI框架 MaterialDesignThemes的Github上面的程序没办法正常运行,最后折腾了好久终于解决。 github地址 gitcode镜像地址 下载成功后 下载成功后是如下效果 打开这个文…

259元,诺基亚返祖式新机玩了把大的

智能手机经过这么多年发展,市场逐渐趋向成熟。 在这个过程中,优胜劣汰这一自然法则同样适用,无数没能经受住市场考验的企业也只能含泪离场。 其中最典型的例子还得是曾经手机中的王者诺基亚了。 当初在 Symbian(塞班系统&#x…

php event原理以及对象与属性赋值

1、定义时间原理 2、定义对象与对象与属性赋值 ps:赋值过程其实会通过魔术方法_get调动本类的set方法 来源B站大佬视频 4.Yii2.0 Advanced Object与Property的关系_哔哩哔哩_bilibili

刚入职,就想跑路了...

刚入职一家公司,想离职又怕找不到新工作。 说实话,这个问题还是蛮常见的,很多时候,入职的公司并不是自己最满意的,即使是最满意的,入职后总会遇到各种各样的不顺心,公司制度不规范啊&#xff0…

C++ 图进阶系列之剖析二分图的染色算法和匈牙利算法

1. 前言 二分图又称作二部图或称为偶图,是图论中的一种特殊类型,有广泛的应用场景。 什么是二分图? 二分图一般指无向图。看待问题要有哲学思想,有二分图也可以是有向图。 如果图中所有顶点集合能分成两个独立的子集&#xff0…

常用好用的远程连接工具分享

1、RayLink 介绍: RayLink它是一款功能强大的远程控制软件,支持Windows、macOS、IOS以及Android等多种操作系统。同时,它还提供了手机端和桌面端两种不同的应用程序,可以通过手机控制电脑,也可以通过电脑控制手机。这…

C语言编程软件

C语言是一门历史很长的编程语言,其编译器和开发工具也多种多样,其开发工具包括编译器,现举几个开发工具供大家选择,当然也要根据自己的操作系统来选择适合自己的开发工具。 好多刚开始接触c语言的朋友都想知道用上面软件开发c语言…

【JavaScript数据结构与算法】字符串类(计算二进制子串)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端(Node.js) 📃个人状态: 在校大学生一枚,已拿多个前端 offer(…

Grafana之Graph Panel使用(05)

Graph是Grafana的原生插件。使用Graph Panel,可以将数据展示成折线、条状、点状等风格。Graph是Grafana展示数据的缺省图形面板,它提供了一组非常丰富的绘图选项。 ① Panel options(面板选项)主要包括:Title(标题);Description(描述) ②Tooltip(鼠标经过图例展示数据效果)…

数字产品在教育行业的应用:关键特点和必备功能概览

数字化转型的浪潮已经席卷了各行各业,不仅出现在互联网、电商、建筑等行业,还应用在了教育行业。数字化的教育ERP软件能够在满足学校需求的基础上,帮助学校完善各类工作流程,提高工作效率。 对于一个拥有多个校区,上万…

LAY-EXCEL实现导入和导出excel功能

lay-excel 是一款开源的、基于 Google Sheets 的免费的在线数据表格库。它使用了 Google Sheets 的开源代码,并进行了本地化处理,以适应中国用户的使用习惯。 lay-excel 提供了丰富的数据表格类型,包括常见的表格、表格拆分、表格计算、图表等…

JAVA并发专题(1)之操作系统底层工作的整体认识

一、分诺依曼计算机模型 现代计算机模型是基于-冯诺依曼计算机模型,计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按…

irq_domain 负责的事情以及小组成员分担的任务

文章目录 简介irq_domain 要做哪些事irq_desc 结构图irq_domain 小组的重要成员有哪些irq_domain 小组的重要成员解析irq_domain 的左膀右臂 irq_chip & irq_domain_opsirq_chip 分担了哪些工作irq_domain_ops 分担了哪些工作 其他成员分担了哪些工作 irq_desc 怎么与 irq …

小程序技术助力智慧家居生态互联

随着科技的不断发展,智能终端设备已经成为人们生活中不可或缺的一部分。不仅可以通过智能手机、平板电脑等设备方便地获取信息和进行沟通,现在还可以通过智能电视、智能冰箱等终端设备运行小程序,为人们提供更加便捷的生活体验。 智能终端设…

C1 计算机系统概论

目录 计算机系统简介 计算机的基本组成 计算机硬件的主要技术指标 计算机系统简介 计算机的基本组成 运算器控制器->中央处理器CPU 输入设备输出设备->I/O设备 运算器:ALU 三个寄存器ACC、X、MQ控制器:CU 两个寄存器IR、PC主存储器&#x…

解决css背景图覆盖文字

项目需求:这是个导航栏(下面是uveiw的tabs标签),然后高亮的时候会有一个背景图,因为title不固定字数,所以宽度不能写死。 想要的效果 做出来的效果 自己写了个样式,用scroll-view&#xff0…

10分钟西门子SMART200PLC轻松实现连接自建MQTT云平台操作教程

目录 一. 使用流程 二. 准备工作 2.1 需要准备如下物品 2.2 LF220网关准备工作 2.3 PLC准备工作 2.4 电脑的准备工作 2.5 MQTT服务器 三. MQTT网关登陆平台配置步骤 3.1 登录 3.2 网关概况 3.3 MQTT连接配置 3.4 驱动管理 3.5 变量管理 四. MQTT客户…