4
스프링 클라우드 Zuul에 대한 문서를 읽은 후 SEMAPHORE 격리 및 약 2 개의 최대 동시 요청으로 Zuul 서버가 약 5000 rps를 쉽게 처리 할 수 있음을 이해했습니다. 약 2000의 값으로 Jmeter에서 서비스를 호출하려고 할 때 다음과 같은 예외가 발생하고 오류율이 100 %로 표시됩니다. 세마포어를 취득 할 수 없음 - Zuul Configuration
com.netflix.hystrix.exception.HystrixRuntimeException:
Service1 could not acquire a semaphore for execution and no fallback available.
은 그럼 200000에 최대 동시 요청의 수를 승진했지만 여전히 예외를 던지고 있지만 오류 비율은 아래로 10 %에왔다. 이유를 알려주십시오. 느린 마이크로 서비스 또는 Spring cloud Zuul의 구성 문제로 인한 것입니까? 다음은 구성입니다 : 몇 가지 테스트 후
ribbon:
ConnectTimeout: 20000000
ReadTimeout: 20000000
MaxTotalHttpConnections: 5000
MaxHttpConnectionsPerHost: 5000
ActiveConnectionsLimit: 4000
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 20000000
zuul.hystrix.command.default.execution.isolation.strategy: SEMAPHORE
zuul.hystrix.command.default.execution.isolation.semaphore.maxConcurrentRequests: 2000
zuul.hystrix.command.default.fallback.isolation.semaphore.maxConcurrentRequests: 2000
zuul.eureka.default.semaphore.maxSemaphores: 30000
테스트 할 준루 (zuul) 버전을 아는 것이 있습니까? @Mavlarn – Joey
봄 구름 버전 Camden.SR2 및 netflix zuul 버전은 1.3.0입니다. – Mavlarn
예, 우리는 zuul 1.1.2를 사용하고 있으므로 작동하지 않습니다. 나는 최신 버전을위한 향상된 기능이 있다는 것을 확인했다. – Joey