서킷 브레이커란?
- 마이크로서비스간의 호출 실패를 감지하고 시스템의 전체적인 안정성을 유지하는 패턴
- 상태변화 : closed → open → half-open
Resilience4j
- 서킷 브레이커 라이브러리
- 서킷 브레이커 상태
- closed : 기본 상태, 모든 요청 통과
- open : 실패율 초과시 오픈 상태로 전환, 모든 요청 실패 처리
- half-open : 오픈상태에서 일정 대기 시간 후 전환, 제한된 수의 요청을 허용하며 시스템이 복구되었는지 확인하고 closed 상태로 전환
- Fallback : 호출 실패시 대체 로직
- 모니터링 : 서킷 브레이커 상태를 모니터링하고 관리할 수 있음
Resilience4j dependency는
io.github.resilience4j:resilience4j-spring-boot3:2.2.0
사용하기 !
Fallback 매커니즘
- 외부 서비스 호출 실패시 대체 로직을 제공하는 메서드
- 시스템의 안전성을 높이고, 장애가 발생해도 사용자에게 일정한 응답을 제공할 수 있음