Circuit Breaker Pattern
장애 서비스로의 반복 호출을 차단하여 연쇄 장애(Cascading Failure)를 방지하는 회복성 패턴. 구현체: Resilience4j (Java), Polly (.NET), Hystrix (deprecated).
sys.entry
M
Me
hyunyoun's Blog
system-architecture-distributed-systems1 min read
Circuit Breaker Pattern
장애 서비스로의 반복 호출을 차단하여 연쇄 장애(Cascading Failure)를 방지하는 회복성 패턴.
상태 머신
CODE
CLOSED ──(오류율 임계값 초과)──▶ OPEN
▲ │
│ │ (타임아웃 후)
│ ▼
└──(성공)────────────── HALF-OPEN
(단일 테스트 요청)
CLOSED: 정상. 모든 요청 통과. 오류율 카운팅.
OPEN: 차단. 즉시 fallback 반환 (빠른 실패). 다운스트림 회복 시간 확보.
HALF-OPEN: 회복 테스트. 제한적 요청만 통과 → 성공 시 CLOSED, 실패 시 OPEN 복귀.
설정 파라미터
Fallback 전략
- 캐시된 이전 응답 반환
- 기본값(degraded response) 반환
- 다른 서비스로 라우팅
구현체: Resilience4j (Java), Polly (.NET), Hystrix (deprecated).
연결 노트
- ZK-Microservices-Decomposition — 서비스 간 호출 체인의 연쇄 장애 방지
- ZK-SLI-SLO-Error-Budget — OPEN 상태 지속 시간이 가용성 SLI에 직접 영향
- ZK-CAP-Theorem — Availability 보존을 위해 일관성을 양보하는 AP 선택의 구현 형태