首页 > 其他分享 >17-springcloud-ribbon-3-Ribbon 负载均衡策略

17-springcloud-ribbon-3-Ribbon 负载均衡策略

时间:2023-04-12 14:12:30浏览次数:36  
标签:负载 服务 策略 17 springcloud RoundRobinRule 均衡 ribbon

Ribbon 的负载均衡策略是由 IRule 接口定义, 该接口由如下实现:

在jar包:com.netflix.ribbon#ribbon-loadbalancer中;

 

 

要使用ribbon实现负载均衡,在Spring 的配置类里面把对应的负载均衡接口实现类作为一个Bean配置一下就行了;

负载均衡的入口:ILoadBalancer接口

如果要切换负载均衡策略:

@Bean
public IRule iRule(){
    return new RoundRobinRule();
}

负载均衡实现

策略

RandomRule

随机

RoundRobinRule

轮询

AvailabilityFilteringRule

先过滤掉由于多次访问故障的服务,以及并

发连接数超过阈值的服务,然后对剩下的服

务按照轮询策略进行访问;

WeightedResponseTimeRule

根据平均响应时间计算所有服务的权重,响

应时间越快服务权重就越大被选中的概率即

越高,如果服务刚启动时统计信息不足,则

使用RoundRobinRule策略,待统计信息足够会切换到该WeightedResponseTimeRule策

略;

RetryRule

先按照RoundRobinRule策略分发,如果分发

到的服务不能访问,则在指定时间内进行重

试,然后分发其他可用的服务;

BestAvailableRule

先过滤掉由于多次访问故障的服务,然后选

择一个并发量最小的服务;

ZoneAvoidanceRule (默认)

综合判断服务节点所在区域的性能和服务节

点的可用性,来决定选择哪个服务;

标签:负载,服务,策略,17,springcloud,RoundRobinRule,均衡,ribbon
From: https://www.cnblogs.com/healthinfo/p/17309603.html

相关文章

  • 16-springcloud-ribbon-2-ribbon实现服务调用
    1、首先加入ribbon的依赖,但是eureka已经依赖了ribbon,所以这里不需要再引用ribbon的依赖;2、要使用ribbon,只需要一个注解: @Bean@LoadBalancedpublic RestTemplaterestTemplate(){    RestTemplaterestTemplate=new RestTemplate();    return restTemplate;}在R......
  • UVa 11723 Numbering Roads (water ver.)
    11723-NumberingRoadsTimelimit:1.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2823Inmycountry,streetsdon’thavenames,eachofthemarejustgivenanumber......
  • springcloud gateway根据服务名称进行路由失败There was an unexpected error (type=S
    出现错误,如下图:解决办法:检查自己的yaml文件:server:port:88spring:application:name:applicationNamecloud:nacos:discovery:server-addr:127.0.0.1:8848gateway:#开启服务发现路由(不开启跨域问题可能无法解决)disco......
  • 17、2 - 3 树
    1、2-3树的结构2、添加元素举例3、添加元素说明2-3树添加元素不会添加到空节点一定是添加到最后搜索到的叶子节点,与它做融合1、如果插入"二节点",则融合形成"三节点"2、如果插入"三节点",则融合形成"四节点",再拆解形成3个"二节点"【1】如果父节点为"......
  • (KMP 1.1)hdu 1711 Number Sequence(KMP的简单应用——求pattern在text中第一次出现的
    题目:NumberSequenceTimeLimit:10000/5000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):12902    AcceptedSubmission(s):5845ProblemDescriptionGiventwosequencesofnumbers:a[1],a[2],......,a[N],andb[1......
  • 扒一扒Nacos、OpenFeign、Ribbon、loadbalancer组件协调工作的原理
    大家好,我是三友~~前几天有个大兄弟问了我一个问题,注册中心要集成SpringCloud,想实现SpringCloud的负载均衡,需要实现哪些接口和规范。既然这个兄弟问到我了,而我又刚好知道,这不得好好写一篇文章来回答这个问题,虽然在后面的聊天中我已经回答过了。接下来本文就以探究一下Nacos、O......
  • ctfshow web入门 sql注入 171-175
    171-175同属无过滤绕过(并未对sql语句过滤,仅对查询结果过滤)重点:1、了解万能密码2、了解sql语句中字符串函数3、了解备份功能(导入/导出数据)4、蚁剑如何连接数据库web171$sql="selectusername,passwordfromuserwhereusername!='flag'andid=......
  • day06-SpringCloud Ribbon
    SpringCloudRibbon1.Ribbon介绍1.1Ribbon是什么?官网地址:Netflix/ribbon:Ribbon(github.com)SpringCloudRibbon是基于NetflixRibbon实现的一套客户端负载均衡的工具Ribbon主要功能是提供客户端负载均衡算法和服务调用Ribbon客户端组件提供一系列完整的配置项如连......
  • leetcode 178
    分数排名selects1.score,count(distincts2.score)as`rank`fromScoresass1,Scoresass2wheres1.score<=s2.scoregroupbys1.idorderbys1.scoredesc mysql8.0下新增窗口函数dense_rank()selectscore,dense_rank()over(orderbyscoredesc)`ra......
  • leetcode 177
    第N高的薪水 CREATEFUNCTIONgetNthHighestSalary(NINT)RETURNSINTBEGINdeclareTintdefault0;SETT=N-1;RETURN(#WriteyourMySQLquerystatementbelow.selectifnull((selectdistinctsalaryfromEmployeeorderbysalarydesclimit......