背景
在使用SpringCloud Fegin进行调用的时候模式使用的是JDK的HttpURLConnection,每次请求都会新建一个连接,没有使用连接池技术,频繁创建连接销毁连接,影响服务器性能。
使用OKHttp替代默认的JDK的HttpURLConnection
依赖
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
yml配置
feign:
okhttp:
enabled: true
连接池配置
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
public class FeignOkHttpConfig {
@Bean
public okhttp3.OkHttpClient okHttpClient(){
return new okhttp3.OkHttpClient.Builder()
.readTimeout(60,TimeUnit.SECONDS)
.connectTimeout(60,TimeUnit.SECONDS)
.connectionPool(new ConnectionPool())
.build();
}
}