Feign的性能优化
Feign底层的客户端实现:
-
URLConnection:默认实现,不支持连接池.
-
Apache HttpClient:支持连接池
-
OKHttp:支持连接池
因此优化Feign的性能主要包括:
-
使用连接池代替默认的URLConnection
-
日志级别,最好用basic或none
所以,性能优化的最主要的方式就是
Feign添加HttpClient的支持:
-
引入依赖:
<!--httpClient的依赖 --> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> </dependency>
-
修改yml配置文件:使用Httpclient或OKHttp代替URLConnection
feign: httpclient: enabled: true #支持httpclient的开关 max-connections: 200 #最大连接数 max-connections-per-route: 50 #单个路径的最大连接数
真实开发环境是经过压力测试的,所以上面的参数是根据压力测试或者业务实际情况来指定的优化。