Learning
토픽 165 / 192·시스템 설계 및 아키텍처 패턴

벌크헤드 패턴 (Bulkhead Pattern)

벌크헤드 패턴 (Bulkhead Pattern)

선박의 격벽에서 영감을 받아 시스템 리소스(스레드 풀, 연결 풀, 인스턴스)를 격리된 풀로 분리하여 한 컴포넌트의 장애가 다른 컴포넌트로 전파되지 않도록 방지하는 회복탄력성 패턴

특징: 장애 격리(↑), 연쇄 장애 방지(↑), 부분 가용성 유지(↑), 리소스 오버헤드(↓)

격리 유형

  • 스레드 풀 격리: 서비스별 별도 스레드 풀, 한 서비스 지연이 다른 서비스에 영향 없음
  • 연결 풀 격리: DB/외부 서비스별 별도 연결 풀, 연결 고갈 방지
  • 인스턴스 격리: 서비스별 별도 인스턴스/컨테이너, 물리적 격리

기술요소: Resilience4j, Hystrix(레거시), Envoy, Istio

적용사례: 마이크로서비스, 외부 API 호출, DB 연결, 멀티테넌트 시스템

비교: Bulkhead(리소스 격리) vs Circuit Breaker(요청 차단) vs Rate Limiting(속도 제한)

연관: 회복탄력성, 서킷 브레이커, MSA, 장애 격리