Circuit Breaker란?
전기 차단기처럼 외부 서비스가 실패 누적 시 호출을 자동 차단해 장애 전파를 막는 패턴이다.
3가지 상태
- Closed — 정상, 요청 통과
- Open — 차단, 즉시 실패 반환
- Half-Open — 일부 요청으로 회복 확인
왜 필요한가
의존 서비스가 느려지면 스레드 풀이 가득 차 내 서비스까지 죽는 "cascading failure" 발생. 차단기가 이를 끊어준다.
구현
Resilience4j(Java), Polly(.NET), Envoy 사이드카, Istio 모두 지원.