Feign

Feign

Feign是一个声明式的伪Http客户端,通过Feign可以实现服务间的相互调用。同时Feign整合了Ribbon,所以Feign也可以实现服务的负载均衡调用。

Feign机制:动态代理。

Feign机制就是使用了动态代理。首先,如果你对某个接口定义了@FeignClient注解,Feign就会针对这个接口创建一个动态代理对象,该对象生成动态代理时会根据代理类方法生成一个RequestTemplate,该对象封装了HTTP请求需要的全部信息,如请求参数名、请求方法等信息都在这个过程中确定,当请求该对象时候,会根据该对象封装成Request去调用Http Client(默认JDK的URLConnection,可以替换成Okhttp等Http框架),

然后再委托Ribbon的LoadBalanceClient做负载均衡,完成服务之间的调用。
Feign_第1张图片

你可能感兴趣的:(SpringBoot,springboot)