목록2024/12/08 (1)
밤빵's 개발일지
[TIL]20241208 Circuit Breaker 도입 고민
외부 API를 사용하는 프로젝트를 개발하면서 안정성에 대한 고민을 하게됐다. PUBG 데이터를 제공받는 샤드 기반 클래스들에서 예외 처리를 진행했지만, 예상하지 못한 외부 API의 장애나 네트워크 문제로 인해 시스템 전체가 영향을 받을 가능성을 발견했고, 그 문제를 해결하기 위해 서킷 브레이커패턴을 도입할지 고민하게 되었다. 1. 서킷 브레이커란?서킷 브레이커는 외부 API 호출 시 발생할 수 있는 장애로부터 시스템을 보호하는 디자인 패턴이다. 정상 상태에서는 API 요청을 그대로 처리하지만, 일정 비율 이상의 요청 실패나 타임아웃이 발생하면 회로를 열어 더 이상 요청을 보내지 않는다. 일정 시간이 지나고 나면 테스트를 위해 회로를 반쯤 열어 요청을 일부 허용하고, 성공 여부에 따라 회로를 닫는 과정을 ..
개발Article
2024. 12. 8. 20:36