微服务-Feign性能调优3
1: Feign的默认HTTP在近10S 时会主动断开。
2: 原因是Feign的默认,AutoConfiguration文件为
feign: hystrix: enabled: true httpclient: enabled: true #feign的最大连接数 max-connections: 200 #feign单个路径的最大连接数 max-connections-per-route: 50 compression: request: enable: true mime-types: text/xml,application/xml,application/json #大小压缩的限制,只有超过2M的请求数据才会进行压缩 min-request-size: 2048 response: enable: true
@Import({ HttpClientFeignLoadBalancerConfiguration.class, OkHttpFeignLoadBalancerConfiguration.class,
HttpClient5FeignLoadBalancerConfiguration.class, DefaultFeignLoadBalancerConfiguration.class })
public class FeignLoadBalancerAutoConfiguration {
}
表意为, 选则一个Client作为Http的链接,
HttpClientFeignLoadBalancerConfiguration -》 ApacheHttpClient
OkHttpFeignLoadBalancerConfiguration -》 OkHttpClient
默认是 DefaultFeignLoadBalancerConfiguration -- 》 FeignBlockingLoadBalancerClient --》
是使用的 HttpURLConnection 作的链接, 这个链接是使用一次就关闭了的。 但底层协议不一定关闭, 还是有一定程度的复用。
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>