CircuitBreaker
- 외부 서비스 호출 시 실패나 지연이 발생하면, 일정 비율 이상의 실패가 감지되면 회로를 차단하고 대체 로직(fallback)을 실행하여 연쇄적인 장애를 방지합니다.

서킷 브레이커가 유용한 상황
- 원격 서비스 호출 실패: 외부 서비스 불안정 시 일정 실패 비율 초과 시 호출 차단.
- 서비스 과부하 방지: 과부하 상태에서 추가 호출 막아 복구 시간 단축.
- 느린 응답 시간 처리: 응답 시간이 긴 서비스로 인해 전체 시스템 성능 저하 방지.
- 데이터베이스 장애: 데이터베이스 성능 저하 시 불필요한 요청 차단.
- 네트워크 문제: 네트워크 지연 시 지속적 실패 요청 차단.
- 타임아웃 설정: 타임아웃 초과 시 호출 실패로 간주하고 다른 경로 시도.
서킷 브레이커 사용 이유
- 시스템 안정성 향상: 장애 발생 시 빠르게 감지하고 요청 차단.
- 장애 전파 방지: 문제 발생 시 연쇄적인 장애 전파 막음.
- 자동 복구: 일정 시간 후 재시도 통해 자동 복구.
- 성능 향상: 빠른 실패로 사용자 경험 향상.
- 효율적 리소스 사용: 자원 효율적 사용, 불필요한 호출 줄여 시스템 부하 낮춤.