具体的源码解析查看博客https://blog.youkuaiyun.com/forezp/article/details/73480304
对Feign的总结
1.Feign是伪客户端,不处理任何的请求。请求的处理被封装到注解中。
2.在启动配置中会检查是否有@EnableFeignClients注解,若有,会进行包扫描,扫描所有被@FeignClient注解的接口,并提取相应的信息,然后将信息注入到IOC容器中
3.当接口内的方法被调用的时候会通过jdk代理,生成具体的requestTemplate
4.通过requestTemplate生成request
5.request会交给client组件,来完成请求的发送,client可以是httpurlconnection,httpclient或okhttp
6. 最后会将client封装到LoadBalanceClient,并结合Ribbon实现客户端的负载均衡
本文解析了Feign作为微服务调用框架的工作原理,包括其如何通过注解处理请求,启动配置中的包扫描机制,以及如何利用JDK代理生成requestTemplate。详细介绍了从请求生成到客户端负载均衡的全过程。

被折叠的 条评论
为什么被折叠?



