콘텐츠로 바로가기

Circuit Breaker Pattern

장애 서비스로의 반복 호출을 차단하여 연쇄 장애(Cascading Failure)를 방지하는 회복성 패턴. 구현체: Resilience4j (Java), Polly (.NET), Hystrix (deprecated).

목차 보기4

장애 서비스로의 반복 호출을 차단하여 연쇄 장애(Cascading Failure)를 방지하는 회복성 패턴.

상태 머신

CODE
CLOSED ──(오류율 임계값 초과)──▶ OPEN
  ▲                               │
  │                               │ (타임아웃 후)
  │                               ▼
  └──(성공)────────────── HALF-OPEN
                          (단일 테스트 요청)

CLOSED: 정상. 모든 요청 통과. 오류율 카운팅.
OPEN: 차단. 즉시 fallback 반환 (빠른 실패). 다운스트림 회복 시간 확보.
HALF-OPEN: 회복 테스트. 제한적 요청만 통과 → 성공 시 CLOSED, 실패 시 OPEN 복귀.

설정 파라미터

파라미터 의미 예시
failureRateThreshold OPEN 전환 오류율 50%
waitDurationInOpenState OPEN 유지 시간 30s
slidingWindowSize 오류율 측정 윈도우 최근 10회

Fallback 전략

  • 캐시된 이전 응답 반환
  • 기본값(degraded response) 반환
  • 다른 서비스로 라우팅

구현체: Resilience4j (Java), Polly (.NET), Hystrix (deprecated).

연결 노트

  • ZK-microservices-principles-decomposition — 서비스 간 호출 체인의 연쇄 장애 방지
  • ZK-sli-slo-error-budget — OPEN 상태 지속 시간이 가용성 SLI에 직접 영향
  • ZK-cap-theorem — Availability 보존을 위해 일관성을 양보하는 AP 선택의 구현 형태

System Architecture · Reliability & SRE

10 / 10