Circuit Breaker의 역할과 한계

Circuit Breaker의 역할과 한계 An architecture diagram generated by Archify. Circuit Breaker · 장애 격리 도구 · Architecture component Circuit Breaker 장애 격리 도구 장애 서비스 격리 · Outlier Detection으로 ejection · ✅ Circuit Breaker가 하는 것 장애 서비스 격리 Outlier Detection으로 ejection Cascading Failure 방지 · 연쇄 장애 차단 · ✅ Circuit Breaker가 하는 것 Cascading Failure 방지 연쇄 장애 차단 시스템 리소스 보호 · Connection Pool 제한 · ✅ Circuit Breaker가 하는 것 시스템 리소스 보호 Connection Pool 제한 자동 복구 시도 · baseEjectionTime 후 재시도 · ✅ Circuit Breaker가 하는 것 자동 복구 시도 baseEjectionTime 후 재시도 중복 요청 방지 · Retry 중복은 막지 못함 · ❌ Circuit Breaker가 하지 않는 것 중복 요청 방지 Retry 중복은 막지 못함 데이터 정합성 보장 · 보장하지 않음 · ❌ Circuit Breaker가 하지 않는 것 데이터 정합성 보장 보장하지 않음 트랜잭션 관리 · 보장하지 않음 · ❌ Circuit Breaker가 하지 않는 것 트랜잭션 관리 보장하지 않음 멱등성 보장 · 애플리케이션 레벨 Idempotency Key · ❌ Circuit Breaker가 하지 않는 것 멱등성 보장 애플리케이션 레벨 Idempotency Key 담당 담당하지 않음 ✅ Circuit Breaker가 하는 것 ❌ Circuit Breaker가 하지 않는 것 Legend 역할 (하는 것) Circuit Breaker 한계 (하지 않는 것)

핵심 원칙

  • • Circuit Breaker는 장애 격리를 위한 도구다
  • • 중복 요청 방지나 데이터 정합성 보장 도구가 아니다

Retry + Circuit Breaker 주의

  • • POST에 Retry 3회 + consecutiveErrors 5면 작동 전 최대 15회 중복 가능
  • • 비멱등 요청은 attempts: 0 또는 retryOn: connect-failure
  • • 결제·재고 등 크리티컬 작업은 Idempotency Key 구현