2017-10-20 20 views
1

REST 호출을 캡슐화하는 hystrix 명령이 있습니다. 오류 (예 : 시간 초과)가 발생하면 재 시도를 한 번하고 오류 발생시 적절한 오류를 반환합니다.hystrix로 재시도를 처리하는 올바른 방법

내가 볼 수 있듯이 Hystrix는 재시도를 지원하지 않습니다. Hystrix를 사용하여이를 수행하는 유일한 방법은 getFallback() 메소드에 주요 로직을 넣는 것입니다. 그러나 올바른 것으로 보이지 않습니다.

그래서 hystrix로 시간 초과를 구현하는 적절한 방법은 무엇입니까?

답변

2

Hystrix 자체는 어떤 종류의 명령이 감싸는 지 신경 쓰지 않고 재 시도 개념을 지원하지 않습니다. 아이디어 뒤에있는 예 : 명령 (REST 요청을 감싸는)이 매개 변수화 된 경우 일부 자원 끝점은 재 시도되어야하고 그렇지 않은 명령 일 수 있습니다. 재 시도를 활성화하기 위해 다소 비슷하거나 똑같은 두 가지 명령이나 기술적 인 매개 변수를 갖는 것은 좋지 않습니다. 또한 프로젝트에 약간의 복잡성이 추가됩니다.

이 문제를 해결하고 Hystrix를 고수하기 위해 Spring 애플리케이션을 사용하고 있다면 SpringRetry을 살펴볼 수 있습니다.

또 다른 가능한 해결책은이며이 문맥에서 Hystrix와 SpringRetry의 조합으로 볼 수 있습니다.