文章目录
一、什么是Feign?
Feign是Netflix开源的声明式HTTP客户端
github地址
在pom.xml中添加依赖
<!--feign依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在启动类上添加@EnableFeignClients
注解
新建UserCenterFeignClient接口
修改ShareService
测试:Feign也可以实现负载均衡。
二、Feign的组成
三、细粒度配置自定义
自定义Feign的日志级别
1、Java代码的方式指定日志级别
2、配置属性方式指定日志级别
四、全局配置自定义
1、Java代码方式指定日志级别
2、配置属性方式指定日志级别
五、支持的配置项
1、代码方式
2、属性方式
六、配置最佳实践总结
1、Ribbon配置 VS Feign配置
2、Feign代码方式 VS 属性方式
优先级别:
全局代码<全局属性<细粒度代码<细粒度属性
七、Feign的继承
通常不建议在服务器和客户端之间共享接口。 它引入了紧密耦合,并且实际上也无法以当前形式与Spring MVC一起使用(方法参数映射不被继承)。
八、多参数请求构造
九、Feign脱离Ribbon使用
十、RestTemplate和Feign的比较
十一、Feign性能优化
1、配置连接池【性能提升15%左右】
pom.xml添加
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
application.yml添加
2、日志级别
在生产环境中,可以将日志级别设置为basic,不建议设置为full