시스템 설계 · 심화
서킷 브레이커(Circuit Breaker) 패턴이란 무엇이며, 언제 사용하나요?
힌트 · Closed/Open/Half-Open 상태, 장애 전파 방지, Hystrix/Resilience4j 사례를 설명해보세요.
안정성장애 격리오류 확산 방지상태 관리복구
모범답안
서킷 브레이커 패턴은 분산 시스템에서 장애가 연쇄적으로 확산되는 것을 방지하여 안정성을 높이는 디자인 패턴입니다. 마치 전기 회로의 차단기처럼, 특정 서비스에 장애가 발생하면 일정 횟수 이상 요청 실패 시 해당 서비스로의 호출을 즉시 차단합니다.
주요 상태는 세 가지입니다.
- Closed: 정상 상태로, 요청이 서비스로 전달됩니다.
- Open: 서비스 장애가 감지되어 요청이 즉시 실패 처리됩니다. 일정 시간이 지나면 Half-Open 상태로 전환됩니다.
- Half-Open: 차단된 서비스의 복구 가능성을 확인하기 위해 제한적인 요청을 허용합니다. 성공하면 Closed로, 실패하면 다시 Open으로 전환됩니다.
이 패턴은 장애 격리를 통해 전체 시스템의 안정성을 유지하고, 복구 시간을 단축하는 데 유용합니다. Hystrix나 Resilience4j 같은 라이브러리에서 이 패턴을 구현하여 마이크로서비스 환경에서 널리 사용됩니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.