基础使用 OpenFeign 全方位讲解
1. 生产环境 OpenFeign 的配置事项
1.1 如何更改 OpenFeign 默认的负载均衡策略
warehouse-service: #服务提供者的微服务ID
  ribbon:
    #设置对应的负载均衡类
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
1.2 开启默认的 OpenFeign 数据压缩功能
feign:
  compression:
    request:
      # 开启请求数据的压缩功能
      enabled: true
      # 压缩支持的MIME类型
      mime-types: text/xml,application/xml, application/json
      # 数据压缩下限 1024表示传输数据大于1024 才会进行数据压缩(最小压缩值标准)
      min-request-size: 1024
    # 开启响应数据的压缩功能
    response:
      enabled: true
1.3 替换默认通信组件
-  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
-  ribbon中的Http Client通过OpenFeign作为注册中心的客户端时,默认使用Ribbon做负载均衡,Ribbon默认也是用jdk自带的HttpURLConnection,需要给Ribbon也设置一个Http client,比如使用okhttp,在properties文件中增加下面配置: ribbon.okhttp.enabled=true
2. 启用日志
2.1 配置日志级别
logging:
  level:
    "com.gkcrm.workflow.api": DEBUG
2.2 配置 feign 日记级别
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;
 }

3. 超时时间
Feign Client的各种超时时间设置









![[学习笔记]刘知远团队大模型技术与交叉应用L3-Transformer_and_PLMs](https://img-blog.csdnimg.cn/direct/4caa5dfc10df45ff8266bf7f26f2ff43.png)









