fallback

Clean Code Big Poo·2022년 5월 10일
0

조각모음

목록 보기
1/3
post-thumbnail

document

fallback 패턴

필요

마이크로서비스 아키텍처에서 서비스는 실패를 염두에 두고 설계해야 한다. 애플리케이션이 응답을 유지하고 항상 사용자에게 무언가를 반환하는 방식으로 오류 시나리오를 처리하는 코드를 작성하는 것을 의미한다.
원격 서비스에 대한 호출이 실패할 경우 예외를 발생시키지 않고 클라이언트 서비스가 대체 코드 경로를 실행하는 것을 의미한다.
일반적으로 다른 데이터 소스에서 데이터를 검색하거나 후처리를 위해 사용자 요청을 큐에 입력하는 작업과 연관된다.

정의

폴백은 서비스 요청 실패 시 대체 솔루션을 제공한다.
Circuit Breaker (회로 차단기)가 원격 서비스 호출을 모니터링하여 호출이 오래 걸리거나 사전 설정한 값만큼 호출이 실패하면 이를 중재하여 호출이 빨리 실패하게 만듦으로써 문제가 있는 원격 서비스가 더 이상 호출되지 않도록 차단한다. 그러고서 폴백 로직이 시작된다.
폴백 로직은 일반적으로 거의 수행되지 않는다. 왜냐하면 처음부터 실패의 결과로 실행되기 때문에 실패할 가능성이 거의 없어야 하기 때문이다.

조합

Circuit Breaker (회로 차단기) 패턴 및 재시도 패턴과 함께 폴백 패턴을 사용하면 다음과 같은 워크플로가 생성된다.

0개의 댓글