SpringCloud-6_Ribbon负载均衡
创始人
2024-05-30 23:46:50
0

Ribbon介绍

Ribbon是什么

1.Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。

2.Ribbon主要功能是提供客户端负载均衡算法和服务调用

3.Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。

4.Ribbon会基于某种规则(如简单轮询,随机连接等)去连接指定服务

5.程序员很容易使用Ribbon的负载均衡算法实现负载均衡

6.一句话:Ribbon:负载均衡+RestTemplate调用

官网文档:https://github.com/Netflix/ribbon

Ribbon进入维护状态

Ribbon目前进入维护模式,未来替换方案是Spring Cloud LoadBalancer

LB(Load Balance)

LB分类

1.集中式LB

  • 即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5,也可以是软件,如Nginx),由该设施负责把访问请求通过某种策略转发至服务的提供方;

  • LB(Load Balance负载均衡)

2.进程内LB

  • 将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些地址可用,然后再从这些地址中选择出一个合适的服务地址。

  • Ribbon就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址。

实例-前面member-consumer轮询负载访问10000/10002

底层就是Ribbon默认的轮询负载算法

Ribbon原理

策略名

描述

BestAvailableRule

选择一个最小的并发请求的server。。逐个考察Server,如果Server被tripped(跳闸)了,则忽略,再选择其中ActiveRequestsCount最小的server。

AvailabilityFilteringRule

过滤掉那些因为一直连接失败的被标记为circuit tripped的后端server,并过滤楨那些高并发的的后端server(active connections超过配置的阈值)

WeightedResponseTimeRule

根据响应时间分配一个weight,响应时间越长,weighti越小,被选中的可能性越低。

RetryRule

对选定的负载均衡策略机上重试机制。在一个配置时间段内当选择server不成功,则一直尝试使用subRule的方式选择一个可用的server

RoundRobinRule

轮询index,选择index.对应位置的server

RandomRule

随机选择一个server。在index上随机,选择index对应位置的server

ZoneAvoidanceRule

复合判断server所在区域的性能和server的可用性选择server

替换负载均衡算法-应用实例

需求分析

1.需求:将默认的轮询算法改成随机算法RandomRule

2.浏览器输入:http://localhost/member/consumer/query/1

3.要求访问的10000/10002端口的服务是随机的

代码实现

  • 因为是进程内LoadBalance,所以在consumer内配置即可:

  • 可以在上表“策略名”中选择算法,返回即可。

@Configuration
public class RibbonRule {@Beanpublic IRule turnRule(){return new RandomRule();}
}
  • 因为上面这个配置是全局配置,不配置到启动程序也可以使用。如果要配置,可以这样配置

@RibbonClient(name="MEMBER_SERVICE_PROVIDER_URL",configuration = RibbonRule.class)
public class MemberConsumerApplication {

测试

浏览器地址栏输入:http://localhost/member/consumer/query/1 进行测试

通过不断刷新查看随机分配的provider

相关内容

热门资讯

金钱和势力一样重要吗? 金钱和势力一样重要吗?其实金钱和势力是因果关系的,因为有了金钱所以才会形旦悉成势力,因为有了势力,所...
我的女儿学习不自觉,不极极,我... 我的女儿学习不自觉,不极极,我应该怎样引导她?多大了,可以引导她让她以爱学习为乐趣陪她一起做作业,陪...
福建武夷学院怎么样 福建武夷学院怎么样福建武夷学院怎么样比去其他二本同等级的院校会好点,个人感觉还是爱校的呵呵整体来说不...
诗文中腊月通常是几月? 诗文中腊月通常是几月?腊月一般指的是农历十二月,就是临近春节那段时间。不是“腊月通常是几月”,是传承...
有没有人认为张丹峰很帅 有没有人认为张丹峰很帅真的很帅,不是都被称为暖男和“国民备胎了吗”。但是我个人认为超哥更帅
好多人都说学习机小牌子不能买,... 好多人都说学习机小牌子不能买,买就买万利达的,是这样吗?是,要不然没电太快
玩MC什么意思 玩MC什么意思玩MC什么意思游戏。中文叫我的世界。(看看我的小手艺)
求女朋友生日祝福语(藏头诗,祝... 求女朋友生日祝福语(藏头诗,祝符婷生日快乐)卿卿我我祝福愿,天赐良缘符地仙,美貌依旧婷婷立,天地人神...
薄薄的叶片像浅绿色的翡翠是什么... 薄薄的叶片像浅绿色的翡翠是什么修辞手法薄薄的叶片像浅绿色的翡翠是什么修辞手法是比喻手法。
死侍现在已经有几部了 死侍现在已经有几部了才出了一部,明年的暑假还会出第二部。
类似于《英雄联盟之谁与争锋》风... 类似于《英雄联盟之谁与争锋》风格的小说英雄联盟之传奇归来 英雄联盟之征途英雄联盟之极品天才
父子关系应该怎么维护呢?你有什... 父子关系应该怎么维护呢?你有什么看法?父子关系应该合理的维护,我觉得父子关系是非常重要的,也决定了孩...
急,关于仙剑2江宁府鼠仓的问题... 急,关于仙剑2江宁府鼠仓的问题!!我上了二楼后,一直在打老鼠,转圈圈,根本找不到第二条出路啊,打得我...
请问“好好学习”中的“好好”正... 请问“好好学习”中的“好好”正确读音?要标准答案,谢谢!都是三声.轻声发音不适合这个短语好字是hao...
哪有(前妻跟我回家)全文 哪有(前妻跟我回家)全文
雪人样子的句子! 雪人样子的句子!我非常喜欢雪。下雪的时候,天地间白茫茫的一片,走进雪里,就像走进洁白晶莹的世界。我喜...
基因突变会改变基因中嘌呤和嘧啶... 基因突变会改变基因中嘌呤和嘧啶的比值吗可能会也可能不会不会,都说了是基因,那么则是双链,A-T (腺...
中国近代谁写散文写得好呀 中国近代谁写散文写得好呀朱自清——孤寂感人梁实秋、周作人、宗白华、余秋雨等都很不错的。非朱自清莫属!...
堰塞湖的“堰”是什么意思? 堰塞湖的“堰”是什么意思?我想知道!!含有堤坝的意思。是指修筑在内河上的既能蓄水又能排水的小型水利工...
求穿越类小说完结的 类似与星神... 求穿越类小说完结的 类似与星神震天的就是说主人公一出现就是很强悍的那种!《九天剑仙在异界》