본문 바로가기
💻 개발/Back-end

12/2 - TIL : Fallback

by 컴쏘 2024. 12. 2.

 

Resilience은 시스템이 예기치 않은 장애, 오류, 네트워크 문제 등의 상황에서 안정적으로 작동하거나 복구할 수 있는 능력이다. 

 

Resilience design pattern 중 하나로 Fallback이 있다. 

 

Fallback은 시스템에서 오류 상황이나 예외적인 상태를 처리하기 위해 준비된 대체 동작이다. 

  • 시스템의 안정성과 신뢰성을 보장하기 위해 자주 사용되며, 특히 마이크로 서비스 아키텍처나 분산 시스템에서 중요한 역할을 한다. 
  • 시스템 안정성 확보: 다른 서비스나 시스템으로 장애가 전파되지 않도록 방지한다. 
  • 사용자 경험 개선: 오류를 숨기고 사용자에게 유용한 대안을 제공한다. 

 

Fallback은 다양한 시나리오에서 활용될 수 있다:

  • 외부 API 호출 실패: 외부 시스템이 응답하지 않을 경우, 캐시 데이터나 기본 응답을 반환.
  • 데이터베이스 연결 실패: 데이터베이스에 접근할 수 없을 때, 읽기 전용 캐시나 대체 데이터 소스를 사용.
  • 네트워크 장애: 장애가 복구될 때까지 제한된 기능으로 서비스 제공.

 

이때, 대체 동작을 적절하게 설정해야 한다. 

 

적절하지 못한 대체 동작은 사용자 경험이 떨어지고, 장애를 확신시킬 수 있다. 

 

 

Spring Cloud에서는 Hystrix, Resilience4j 같은 라이브러리를 사용하면 구현할 수 있다. 

 

출처 : 다음의 글을 참고하였습니다.

 

 

 

 

'💻 개발 > Back-end' 카테고리의 다른 글

12/12 - TIL : 로깅 레벨  (1) 2024.12.12
12/9 - TIL : DDD 란?  (0) 2024.12.09
12/1 - TIL : 모듈이란?  (0) 2024.12.01
11/28 - TIL : 이벤트 소싱과 CQRS  (0) 2024.11.28
11/26 - TIL : 분산 트랜잭션과 CQRS  (0) 2024.11.26