Fallback

유수민·2022년 7월 11일
3

지식창고

목록 보기
34/64

📌Fallback이란?

어떤 기능이 약해지거나 제대로 동작하지 않을 때, 이에 대처하는 기능 또는 동작을 말한다. fallback은 api 호출시 발생하는 예외처리를 위한 클래스를 정의한다. 실패에 대해서 후처리를 위해 설정해 두는 method이다.

📖Fallback을 호출할 때

Fallback으로 지정된 메소드는 다음의 경우에 원본 대신 실행된다. (정상 동작하지 않을 경우 실행)

📚1. Circuit Open

  • 메소드를 호출하지만 디버그로 찍어보면 메소드 바디안에 들어오지 않을 경우. 즉, 누군가 가로채서 바로 Exception으로 보내버릴때
  • A가 B, C, D를 호출하는데 B가 장애가 발생할 경우 B를 차단해 버리므로 장애가 전파되지 않는 차단기 역할

📚2. Any Exception (HystrixBadRequestException 제외)

📚3. Thread Pool/Queue/Semaphore 가 가득찼을때

  • Thread Pool : 작업 처리에 사용되는 Thread를 제한된 개수만큼 정해놓고 작업 큐에 들어오는 작업을 하나씩 Thread가 맡아서 처리하는 것
  • Semaphore : 현재 공유자원에 접근할 수 있는 쓰레드, 프로세스의 수를 나타내는 값을 두어 상호배제를 달성하는 기법(카운트)
    참고) https://worthpreading.tistory.com/90

📚4. Timeout

📚5. 실제 명령어의 수행 여부

profile
배우는 것이 즐겁다!

1개의 댓글

comment-user-thumbnail
2023년 8월 30일

잘봤습니다 :)

답글 달기