Feign的性能优化

Feign底层的客户端实现有三种模式

1)URLConnection:默认实现,不支持连接池;(Feign发送http请求时,默认使用的客户端)

2)Apache HttpClient :支持连接池;

3)OKHttp : 支持连接池; 

我们知道,连接池可以减少连接创建和销毁的性能损耗;连接每次创建都需要三次握手,断开时需要做四次挥手,其实是比较浪费性能的,浪费资源的。所以,我们希望减少这类操作,那怎么办呢?所以需要使用连接池。

因此优化Feign的性能主要包括

1)使用连接池代替默认的URLConnection

2)日志级别虽然可以用full,但是最好使用basic或none

(开日志是需要消耗性能的,不开日志的情况下日志会提升很多)

Feign的性能优化-连接池配置

 Feign的性能优化-连接池配置,如何配置呢?配置步骤是什么呢?我们这里用Apache HttpClient为例,替换Feign底层默认的客户端 URLConnection;

1、Feign添加HttpClient的支持:引入依赖

        
        
            io.github.openfeign
            feign-httpclient
            10.10.0
        

2、配置连接池

feign:
  client:
    config:
      default: #这里default就是全局配置,如果是写服务名称,则是针对某个微服务的配置
        loggerLevel: FULL  #日志级别
  httpclient:
    enabled: true #开启Feign对httpClient的支持
    max-connections: 200 #最大连接数
    max-connections-per-route: 50 #每个路径的最大连接数

总结 

Feign的性能优化_第1张图片 

你可能感兴趣的:(SpringCloud,spring,cloud)