Spring Cloud Ribbon

介绍一下Ribbon是啥?
Ribbon是一个基于HTTP和TCP协议的客户端负载均衡器,
它可以在通过客户端中的配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用.
当Ribbon与Eureka联合使用时,Ribbon的服务端列表RibbonServerList会被

简单地说,Ribbon在Eureka服务发现的基础上,实现了一套对服务实例的选择策略,从而实现对服务的消费.


Ribbon模块的依赖spring-cloud-starter-ribbon


Ribbon是如何通过RestTemplate实现客户端负载均衡?
Ribbon实现的负载均衡自动化配置需要满足以下2个条件:
1,@ConditionalOnClass(RestTemplate.class):RestTemplate类必须存在于当前工程的环境中
2,@ConditionalOnBean(LoadBalancerClient.class):在Spring的Bean工具中必须有LoadBalancerClient的实现bean
在该自动化配置类中,主要做了下面三件事:
1,创建了一个LoadBalancerInterceptor的bean,用于实现对客户端发起请求时进行拦截,以实现客户端负载均衡
2,创建了一个RestTemplateCustomizer的bean,用于给RestTemplate增加LoadBalancerInterceptor拦截器
3,维护了一个被@LoadBalanced注解修饰的RestTemplate对象列表,并在这里进行初始化,通过调用RestTemplateCustomizer的实例
来给需要客户端负载均衡的RestTemplate增加LoadBalancerInterceptor拦截器.
接下来,我们看看LoadBalancerInterceptor拦截器是如何将一个普通的RestTemplate变成客户端负载均衡的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值