基础使用 OpenFeign 全方位讲解
warehouse-service: #服务提供者的微服务ID
ribbon:
#设置对应的负载均衡类
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
feign:
compression:
request:
# 开启请求数据的压缩功能
enabled: true
# 压缩支持的MIME类型
mime-types: text/xml,application/xml, application/json
# 数据压缩下限 1024表示传输数据大于1024 才会进行数据压缩(最小压缩值标准)
min-request-size: 1024
# 开启响应数据的压缩功能
response:
enabled: true
1.引入 feign-okhttp 依赖包。
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
3.在 application.yml 中启用 OkHttp
feign:
okhttp:
enabled: true
httpclient:
enabled: false
client:
config:
default:
loggerLevel: HEADERS
connectTimeout: 10000
readTimeout: 10000
compression:
request:
enabled: true
response:
enabled: true
通过OpenFeign作为注册中心的客户端时,默认使用Ribbon做负载均衡,Ribbon默认也是用jdk自带的HttpURLConnection,需要给Ribbon也设置一个Http client,比如使用okhttp,在properties文件中增加下面配置:
ribbon.okhttp.enabled=true
logging:
level:
"com.gkcrm.workflow.api": DEBUG
feign:
okhttp:
enabled: true
httpclient:
enabled: false
client:
config:
default:
loggerLevel: HEADERS
或者
@Configuration
public class FeignLogConfig {
@Bean
public Logger.Level feignLogLevel(){
/**
* 日志级别:
* NONE(不记录日志 (默认))
* BASIC(只记录请求方法和URL以及响应状态代码和执行时间)
* HEADERS(记录请求和应答的头的基本信息)
* FULL(记录请求和响应的头信息,正文和元数据)
*/
return Logger.Level.FULL;
}