CircuitBreaker 적용 범위 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
단일 toss CircuitBreaker | Toss API 전체에 하나의 CircuitBreaker를 공유 |
| API 그룹별 CircuitBreaker | MARKET_DATA, STOCK, ACCOUNT 등 각 그룹마다 별도 CircuitBreaker 구성 |
결정
단일 toss CircuitBreaker — 모든 Gateway에 공유
결정 이유
- Toss API 장애는 대부분 전체 서비스 장애이지 API 그룹 단위 장애가 아님
- RateLimiter는 그룹별로 분리해 개별 TPS를 정확히 제어하므로 CircuitBreaker까지 분리할 필요 없음
- 설정 파일 복잡도를 N배 증가시키지 않으면서 동일한 장애 보호 효과를 얻을 수 있음
검토 대안
| 방안 | 기각 이유 |
|---|---|
| API 그룹별 CircuitBreaker | 설정 복잡도 N배 증가, 실질적 이득 없음 (Toss 장애는 전체 서비스 단위) |
트레이드 오프
- 득: 설정 단순화, Toss API 전체 장애 시 빠른 차단
- 실: 특정 그룹만 장애일 때 전체 차단되는 과잉 차단 가능성 (현실적으로 발생 빈도 낮음)