2017-12-03 22 views
0

이해에서, Hystrix 폴백 논리는 요청 시간 초과, 100 % 용량에서 실행중인 스레드 풀 또는 종속성 예외 예외와 같은 특정 조건이 발생할 때 트리거됩니다. 이 3 가지 요인 외에 413 (페이로드가 너무 큼)과 같은 특정 HTTP 오류 코드와 같은 오류로 간주되는 더 많은 조건을 추가 할 수 있습니까?Hystrix에서 폴백을 트리거하는 사용자 정의 오류 조건

답변

0

Hystrix의 대체 방법은 다음의 조건 하에서 호출 될

  • 개방 회로
  • 세마포어/스레드 풀 거부
  • 실행 (HystrixBadRequestException 제외하여 법에 의해 발생 예외)
  • 실패 메소드 시간 초과 (히스토리 타임 아웃)

부분 만 t는 사용자 코드와 직접 관련이 있으며 실행이 실패합니다.

이 경우 run() 메서드로 throw 된 예외가 있으면 폴백이 트리거됩니다. 주석을 통해 HystrixCommand 및 Hystrix Javanica를 통해 순수 Hystrix와 동일합니다. 당신이 HTTP 413 상태 코드 또한 대체를 트리거 할 경우 모두가 당신의 방법 내부의 예외를 던지고하는, 따라서 HystrixBadRequestException

트리거되지 않습니다

단 하나의 예외입니다.

Spring Cloud Feign과 같은 Hystrix 지원이 내장 된 라이브러리를 사용하는 경우 라이브러리에 필요한 것을 구현해야합니다. Spring Cloud Feign의 경우 자신 만의 ErrorDecoder을 구현할 수 있습니다. 기본 오류 디코더는 모든 4XX, 5XX 오류에 대해 폴백을 트리거합니다. 413을 제외한 모든 대체 4XX 오류를 트리거하지 않으려면 HystrixBadRequestException을 그 안에 넣을 수 있습니다.