CircuitBreaker 적용 범위 선택

상태

승인

후보군

방안설명
단일 toss CircuitBreakerToss API 전체에 하나의 CircuitBreaker를 공유
API 그룹별 CircuitBreakerMARKET_DATA, STOCK, ACCOUNT 등 각 그룹마다 별도 CircuitBreaker 구성

결정

단일 toss CircuitBreaker — 모든 Gateway에 공유

결정 이유

  • Toss API 장애는 대부분 전체 서비스 장애이지 API 그룹 단위 장애가 아님
  • RateLimiter는 그룹별로 분리해 개별 TPS를 정확히 제어하므로 CircuitBreaker까지 분리할 필요 없음
  • 설정 파일 복잡도를 N배 증가시키지 않으면서 동일한 장애 보호 효과를 얻을 수 있음

검토 대안

방안기각 이유
API 그룹별 CircuitBreaker설정 복잡도 N배 증가, 실질적 이득 없음 (Toss 장애는 전체 서비스 단위)

트레이드 오프

  • 득: 설정 단순화, Toss API 전체 장애 시 빠른 차단
  • 실: 특정 그룹만 장애일 때 전체 차단되는 과잉 차단 가능성 (현실적으로 발생 빈도 낮음)