介绍

:::tips Feign底层发起http请求,依赖于其它的框架,其底层支持的客户端实现包括:

  1. URLConnection:不支持连接池【默认】
  2. Apache HttpClient:支持连接池
  3. OKHttp:支持连接池

提高Feign性能的手段:

  • 使用HttpClient或者OKHttp代替默认的URLConnection,这里我们用Apache的HttpClient来代替URLConnection
    • 引入feign-httpClient依赖
    • 配置文件开启httpClient功能,设置连接池参数
  • Feign的日志级别使用none或者basic(默认就是none,无需配置) :::

    实现

    引入依赖

    :::tips 在服务消费者中引入HttpClient依赖 :::
    1. <!--HttpClient依赖 -->
    2. <dependency>
    3. <groupId>io.github.openfeign</groupId>
    4. <artifactId>feign-httpclient</artifactId>
    5. </dependency>

    添加配置

    1. feign:
    2. httpclient:
    3. #开启feign对HttpClient的支持
    4. enabled: true
    5. #配置总的最大连接数
    6. max-connections: 200
    7. #配置每个请求路径的最大连接数
    8. max-connections-per-route: 50