토픽 165 / 192·시스템 설계 및 아키텍처 패턴
벌크헤드 패턴 (Bulkhead Pattern)
벌크헤드 패턴 (Bulkhead Pattern)
선박의 격벽에서 영감을 받아 시스템 리소스(스레드 풀, 연결 풀, 인스턴스)를 격리된 풀로 분리하여 한 컴포넌트의 장애가 다른 컴포넌트로 전파되지 않도록 방지하는 회복탄력성 패턴
특징: 장애 격리(↑), 연쇄 장애 방지(↑), 부분 가용성 유지(↑), 리소스 오버헤드(↓)
격리 유형
- •스레드 풀 격리: 서비스별 별도 스레드 풀, 한 서비스 지연이 다른 서비스에 영향 없음
- •연결 풀 격리: DB/외부 서비스별 별도 연결 풀, 연결 고갈 방지
- •인스턴스 격리: 서비스별 별도 인스턴스/컨테이너, 물리적 격리
기술요소: Resilience4j, Hystrix(레거시), Envoy, Istio
적용사례: 마이크로서비스, 외부 API 호출, DB 연결, 멀티테넌트 시스템
비교: Bulkhead(리소스 격리) vs Circuit Breaker(요청 차단) vs Rate Limiting(속도 제한)
연관: 회복탄력성, 서킷 브레이커, MSA, 장애 격리