Closed ghkdqhrbals closed 7 months ago
본문은 resilience4j.docs 를 참고한 글입니다. 에러에 대한 fallback 을 설정하기 위해 사전 지식을 정리해보았습니다. :)
본문은 resilience4j.docs 를 참고한 글입니다.
에러에 대한 fallback 을 설정하기 위해 사전 지식을 정리해보았습니다. :)
서킷 브레이커는 어떤 API 에서 "문제" 가 발생했을 때, 원하는 fallback 을 반환시킬 수 있는 기능을 수행합니다. 그리고 이러한 서킷 브레이커는 OPEN, HALF_OPEN, CLOSE 상태가 존재합니다.
OPEN
HALF_OPEN
CLOSE
그렇다면 "문제" 란 어떻게 정의할 수 있을까요? resilience4 는 슬라이딩 윈도우로 여러 문제를 정의할 수 있습니다. 크게 보면 아래의 4가지 유형이 존재합니다.
서킷 브레이커 개념
서킷 브레이커는 어떤 API 에서 "문제" 가 발생했을 때, 원하는 fallback 을 반환시킬 수 있는 기능을 수행합니다. 그리고 이러한 서킷 브레이커는
OPEN
,HALF_OPEN
,CLOSE
상태가 존재합니다.CLOSE
: API 에 아무런 문제가 없고 정상 동작하고 있음OPEN
: API 에 어떤 문제가 발생했고, 대기시간동안 block 됨HALF_OPEN
:OPEN
의 대기시간이 끝나고 정상으로 돌아가기 위해 일정시간동안 "문제" 가 발생하지 않는지 테스트 요청을 전송하며 확인합니다.서킷 브레이커 문제정의
그렇다면 "문제" 란 어떻게 정의할 수 있을까요? resilience4 는 슬라이딩 윈도우로 여러 문제를 정의할 수 있습니다. 크게 보면 아래의 4가지 유형이 존재합니다.