httpclient 매개변수 구성
간단한 설명은 다음과 같습니다. flix zuul은 유사한 타이머를 제공하지만 매개변수는 하드 코딩되어 있습니다.
spring-cloud-netflix-core/1.2.6.RELEASE/ spring- cloud-netflix-core-1.2.6.RELEASE-sources.jar!/org/springframework/cloud/netflix/zuul/filters/route/SimpleHostRoutingFilter.java
httpcore-4.4.6-sources .jar !/org/apache/http/pool/PoolEntry.java
주로 참조
httpclient-4.5.3-sources.jar!/org/apache/http/impl/ execchain/ ConnectionHolder.java
ValidDuration은 여기에서 설정되며 releaseConnection
httpclient-4.5.3-sources.jar!/org/apache/http/impl/conn/PoolingHttpClientConnectionManager에 전달됩니다. java
여기서 updateExpiry로 이동하세요. 이는 timeToLive를 업데이트하는 것과 동일합니다.
여기서 설정되는 것은 http 연결 풀에서 연결의 생존 시간입니다.
httpclient -4.5.3- source.jar!/org/apache/http/impl/client/HttpClientBuilder.java
httpclient-4.5.3-sources.jar!/org/apache/http/impl/conn /PoolingHttpClientConnectionManager.java
4.0의 ThreadSafeClientConnManager는 4.2 버전에서 폐기되었으며 기본적으로 PoolingHttpClientConnectionManager를 사용합니다. 이 관리자에는 두 가지 중요한 매개변수가 있습니다. 하나는 maxTotal이고 다른 하나는 defaultMaxPerRoute입니다.
httpclient-4.5.3-sources.jar!/org/apache/http/conn/routing/HttpRoute.java
HttpRoute 객체는 변경할 수 없으며 여기에 포함된 데이터는 다음과 같습니다. 대상 호스트, 로컬 주소, 프록시 체인, 터널링 여부, 계층화 여부 및 보안 경로인지 여부.
httpclient-4.5.3-sources.jar!/org/apache/http/impl/client/IdleConnectionEvictor.java
빌더는 기본적으로 IdleConnectionEvictor를 구성합니다.
httpclient-4.5.3-sources.jar!/org/apache/http/impl/client/HttpClientBuilder.java
maxIdleTime이 지정되지 않았지만 evictExpiredConnections가 설정된 경우 기본값은 10초입니다. p>
연결 풀에서 연결을 얻기 위한 요청 시간 초과(연결 풀에 연결이 충분하지 않을 때의 대기 시간 초과)를 밀리초 단위로 설정합니다. 500ms로 설정할 수 있습니다.
httpclient-4.5.3-sources.jar!/org/apache/http/impl/execchain/MainClientExec.java
재시도 정책 설정
httpclient-4.5.3-sources. jar!/org/apache /http/impl/client/DefaultHttpRequestRetryHandler.java
예를 들어 재시도를 하지 않을 경우 이렇게 설정하면 됩니다.
getKeepAliveDuration이 -1인 경우 connTimeToLive가 -1이고 closeExpiredConnections 메소드가 실제로 존재하지 않습니다. 사용하면 디버그 로그를 확인할 때 나타납니다.
getKeepAliveDuration이 -1이 아닌 경우 5초로 가정하면 로그는 다음과 같습니다
피>