Spring Cloud 2.2.2 源码之二十三Feign执行原理二

Spring Cloud 2.2.2 源码之二十三Feign执行原理二

创建负载均衡客户端

最后一步了,创建客户端,然后负载均衡,去执行。
在这里插入图片描述
先创建服务的客户端:
在这里插入图片描述
CachingSpringLoadBalancerFactory工厂有个缓存,先从缓存中拿。没有的话就用SpringClientFactory创建一个ILoadBalancer实例,其实就从服务名对应的容器里获取,这里其实就是获取ribbon的负载均衡器ZoneAwareLoadBalancer,如果没有重试工厂的话就封装成FeignLoadBalancer对象,放入缓存,并返回:
在这里插入图片描述
这个熟悉:
在这里插入图片描述

executeWithLoadBalancer执行

创建一个命令,然后执行,里面也很深,貌似是响应式编程的RXJava的东西,基本都是异步。
在这里插入图片描述

不过最后会执行到这里,用负载均衡策略选服务器:
在这里插入图片描述
这里熟悉了吧。
在这里插入图片描述
最后会回调这里面:
在这里插入图片描述

FeignLoadBalancer的execute

其实就是FeignLoadBalancerexecute
在这里插入图片描述
最终居然是用HttpURLConnection来进行请求的。
在这里插入图片描述
好了,基本的流程说完了,其实就是动态代理,最后是HttpURLConnection处理的,细节可以慢慢看哦。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值