feign集成hystrix全流程源码分析

这篇文章算是对之前系列的增强,将spring启动流程、@Configuration配置加载分析 、feign构建与调用全流程分析hystrix源码分析 整体用两张图片串联起来。

feign 全流程分析

图片中主要分为以下几步:

  1. 从项目启动;

  2. refresh刷新上下文

  3. 解析

  4. 举例feign的装配,也可以看hystrix的装配(feign通过EnableAutoConfiguration自动装配),hystrix装配(用EnableAutoConfiguration和EnableCircuitBreaker),将FeignClient注解修饰的类包装成对应类型的BeanDefinition

  5. 加载

  6. 举例feign的加载

  7. 通过getBean 执行对应BeanDefinition的回调,通过解析注解RequestMapping生成SynchronousMethodHandler,最后通过动态代理方法名生成对应的DefaultMethodHandler

  8. 使用,通过@Autowire 根据类型获取

  9. hystrix处理包装成HystrixCommand(后续HystrixCommand的执行看hystrix的分析)

  10. RequestTemplate包装

  11. feign的负载均衡获取server

  12. 执行

hystrix分析里

  1. 从hystrix装配,扫描到@Aspect

  2. 请求执行

  3. 通过@HystrixCommand 拦截

  4. 包装成HystrixCommand

  5. 包装成HystrixCommand后如何执行

建议结合图片,自己翻代码追踪一下,然后再断点跑一下,会有很清晰的理解。图片中已将整体流程串联,以及在关键流程里使用的对象在哪里创建都用线串了起来,

文章中的图片可能不太清晰。

关注微信公众号5ycode,获取高清图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值