Feign知识点
Feign 调用过程分析
Feign应用过程分析:
1)通过在启动类添加 @EnableFeignCleints 注解告诉springcloud,启动 Feign Starter 组件。
2) Feign Starter 会在项目启动过程中注册全局配置,扫描包下所有@FeignClient注解描述的接口,然后由系统底层创建接口实现类(JDK代理类),并构建类的对象,然后交给spring管理(注册 IOC 容器)。
3) Feign接口被调用时,底层代理对象会将接口中的请求信息通过编码器创建 Request对象,基于此对象进行远程过程调用。
4) Feign客户端请求对象会经Ribbon进行负载均衡,挑选出一个健康的 Server 实例(instance)。
5) Feign客户端会携带 Request 调用远端服务并返回一个响应。
6) Feign客户端对象对Response信息进行解析然后返回客户端。
为什么使用feign?
基于feign可以更加友好的实现服务调用,简化服务消费方对服务提供方法的调用
@FeignClient注解的作用是?
告诉Feign Starter,在项目启动时,为此接口创建实现类(代理类)
@EnableFeignClients 注解的作用?
描述配置类,例如启动类