spring-cloud-ribbon之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记

58 篇文章 0 订阅
53 篇文章 1 订阅

spring-cloud-ribbon之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记

概述

  • 软负载均衡需要支持三个功能,带选择的服务器列表/从待选服务器中选出一个服务器/调用选择的服务器
  • RibbonClients/RibbonClient引入RibbonClientConfigurationRegistrar,解析相关配置信息
  • RibbonClientConfiguration注入ribbon级别支持bean(ILoadBalancer/IRule/ServerList)
  • RibbonAutoConfiguration通过LoadBalancerAutoConfiguration开启负载均衡配置
  • ribbon即可单独与RestTemplate联合使用,也可与feign一起连用(见上篇文章)
  • 参考

RibbonClients/RibbonClient—->引入RibbonClientConfigurationRegistrar,解析相关配置信息

RibbonClientConfiguration—->注入ribbon级别支持bean(ILoadBalancer/IRule/ServerList)

  • 注入ZoneAwareLoadBalancer(加入区域信息),底层依赖BaseLoadBalancer进行服务获取
  • 注入ZoneAvoidanceRule,底层依赖RoundRobinRule进行轮询获取服务列表
  • 注入ConfigurationBasedServerList,从配置属性获取服务列表

RibbonAutoConfiguration—->依赖classpath路径下有IClient/RestTemplate/Ribbon开启负载注入

  • 引入LoadBalancerAutoConfiguration,注入LoadBalanced注解标记的RestTemplate,给RestTemplate添加LoadBalancerInterceptor或者RetryLoadBalancerInterceptor拦截器
  • 注入SpringClientFactory
  • 注入LoadBalancerClient(RibbonLoadBalancerClient)—->支撑ribbon进行轮询调用,与feign结合使用一致,只不过开启的开关不一样

LoadBalancerAutoConfiguration—->负载均衡支持

  • restTemplates—->注入应用配置的LoadBalanced注解标记的RestTemplate
  • 注入LoadBalancerRequestFactory,负载的请求创建工厂
  • 如果无RetryTemplate,则将LoadBalancerInterceptor添加至RestTemplate拦截器
  • 如果有RetryTemplate,则使用RetryLoadBalancerInterceptor添加至RestTemplate拦截器

LoadBalancerInterceptor—->request拦截器,利用RibbonLoadBalancerClient进行服务的选择,请求的执行

测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值