Spring Boot, Eureka, Zuul, Ribbon 프레임 워크를 사용하여 프로젝트 아키텍처를 구성했습니다. 그것의 작업 (거의) 미세하지만 때로는 받고 다음과 같은 예외 : com.netflix.client.ClientException :에 의해Spring 부트, eureka, zuul, 리본 프레임 워크에서 ClientException 및 ZuulException을 거의 얻지 못합니다.
- 를 일으켰에 의한 서비스 1
- :로드 밸런서가 클라이언트에 대해 사용 가능한 서버가 없습니다 : com.netflix.hystrix.exception.HystrixRuntimeException : service1 시간 초과 및 대체 가능 없음.
다음은 내 서비스 구성입니다. 위 예외에 대한 문제를 일으키는 내용을 놓친 경우 알려주십시오.
유레카 서비스 application.properties :
server.port=8070
spring.application.name=eureka_service
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8070/eureka/
logging.level.com.netflix.eureka=OFF
logging.level.com.netflix.discovery=OFF
zuul 서비스 application.properties :
server.port=8071
spring.application.name=zuul_service
zuul.prefix=/api
zuul.routes.service1.path=/service1/**
zuul.routes.service1.service-id=service1
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8070/eureka/
ribbon.eureka.enabled=true
서비스 1의 application.properties :
server.port=8072
spring.application.name=service1
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8070/eureka/
ribbon.eureka.enabled=true
해결할 다른 구성을 추가해야하는지 알려주세요. 감사합니다. .
은 시작에 이러한 예외는 쪽으로? 불행한 경우 서비스간에 검색을 위해 메타 데이터를 공유하는 데 120 초가 걸릴 수 있습니다. 또한 Hystrix의 기본값은 1 초이며 스레드 풀은 10입니다. Hystrix 기본값을 유지하는 경우 DOS를 쉽게 사용할 수 있습니다. –
@DarrenForsythe 이러한 예외는 시작시 발생하지 않습니다. 내가 Zuul을 통해 service1 API에 액세스하려고 시도하고 있습니다. http : // localhost : 8071/api/security1/user/***** 어떻게 이러한 예외를 해결할 수 있습니까? – Krish
제가 분명히해야합니다, 얼마나 빨리 응용 프로그램이 올라 오면 API를 치려고합니까? –