Topic

Circuit Breaker Pattern

JackerLab 2025. 5. 6. 21:30
728x90
반응형

개요

Circuit Breaker는 마이크로서비스와 분산 시스템에서 일시적인 장애나 실패가 전체 시스템으로 확산되는 것을 방지하기 위한 보호 메커니즘입니다. 서비스 간 호출 실패가 반복될 경우 자동으로 해당 요청을 차단하거나 우회하여, 리소스 고갈, 장애 도미노, 응답 지연 등을 미연에 방지합니다.


1. 개념 및 정의

Circuit Breaker Pattern은 전기 회로의 차단기처럼, 오류가 임계치를 넘으면 요청 경로를 끊고 일정 시간 후 재시도하는 방식으로, 시스템의 회복성을 높이는 설계 패턴입니다.

  • 유형: Closed → Open → Half-Open 상태 전이
  • 주요 기능: 실패 감지, 자동 차단, 재시도 관리
  • 적용 위치: 서비스 간 API 호출, DB 연결, 외부 연동 등

2. 상태 전이 모델

상태 설명 조건
Closed 정상 상태, 모든 요청 전달 실패율 낮음, 정상 응답 유지
Open 차단 상태, 요청 거부 또는 fallback 처리 실패율 또는 에러 수가 임계치 초과
Half-Open 테스트 상태, 일부 요청 허용 Open 상태 후 지정 시간 경과

정상 응답이 관찰되면 다시 Closed 상태로 전환됩니다.


3. 주요 구성 요소 및 파라미터

구성 요소 설명
Failure Threshold 실패율 또는 실패 횟수 임계값 (예: 50%)
Timeout 요청 실패 판단 기준 시간 (예: 1초 이상 응답 없음)
Retry Timeout Half-Open으로 전환되는 대기 시간 (예: 10초)
Fallback 실패 시 대체 응답 또는 우회 경로

이러한 파라미터는 시스템 특성에 맞게 설정 조정해야 효과적입니다.


4. 장점 및 이점

항목 장점
장애 확산 방지 실패한 서비스에 요청 집중을 차단함으로써 도미노 현상 방지
리소스 보호 호출 제한으로 서버 과부하를 막고 시스템 안정성 확보
빠른 회복 지원 자동 재시도 및 정상 상태 감지를 통한 복원력 강화
사용자 경험 보호 Fallback 응답 제공으로 전체 서비스 중단 방지

Circuit Breaker는 특히 마이크로서비스 아키텍처에서 핵심 안정성 패턴으로 간주됩니다.


5. 구현 도구 및 기술 스택

도구 설명
Netflix Hystrix (Deprecated) Java 기반 초기 구현체, Spring Cloud 사용
Resilience4j Java8 기반 경량 라이브러리, Hystrix 대체품
Spring Cloud Circuit Breaker Spring용 추상화 인터페이스 (Resilience4j, Sentinel 지원)
Istio / Envoy Service Mesh 환경에서 정책 기반 차단 구현 가능
Polly (.NET) .NET 기반 Circuit Breaker 및 Retry 라이브러리

서킷 브레이커는 애플리케이션 내 또는 네트워크 경로 상에서 구현 가능합니다.


6. 활용 사례

산업 적용 예시
이커머스 결제 API 실패 시 fallback 메시지 제공
금융 신용평가 연동 실패 시 캐시된 점수 사용
통신 SMS 전송 게이트웨이 장애 시 예비 채널로 전환
IoT 센서 오류 발생 시 기본값 반환 및 로깅 처리

서비스 간 강한 의존성이 있는 구조일수록 Circuit Breaker는 필수 보호장치입니다.


7. 결론

Circuit Breaker는 단순한 에러 처리를 넘어, 시스템 전반의 복원력(Resilience)과 안정성 확보를 위한 핵심 패턴입니다. 마이크로서비스, API 통합, 클라우드 네이티브 환경에서 예상치 못한 실패에 대응하며, 서비스 품질과 사용자 경험을 동시에 보호합니다. 적절한 설정과 모니터링 체계를 갖춘 Circuit Breaker는 오늘날 고가용성 시스템 설계의 필수 요소입니다.

728x90
반응형

'Topic' 카테고리의 다른 글

Saga Pattern  (0) 2025.05.06
Bulkhead Pattern  (1) 2025.05.06
Lean Value Stream Mapping(VSM)  (1) 2025.05.06
CALMS 모델  (2) 2025.05.06
TOGAF(The Open Group Architecture Framework) ADM(Architecture Development Method)  (1) 2025.05.06