핵심 인사이트 (3줄 요약)

  1. 본질: Bulkhead(격벽)는 서비스·리소스를 격리된 풀(Pool)로 분리하여 하나의 장애가 다른 서비스로 전파되지 않도록 하는 MSA 복원력 패턴이다.
  2. 가치: 주문·결제·추천 서비스가 같은 스레드 풀을 공유하면 추천 서비스 장애 시 스레드 고갈→주문·결제도 장애(Cascading), Bulkhead로 분리하면 추천만 영향.
  3. 판단 포인트: 스레드 풀 Bulkhead(서비스별 독립 풀)·세마포어 Bulkhead(동시 호출 수 제한)·K8s ResourceQuota(컨테이너별 CPU·메모리 격리)가 구현 방식이다.

Ⅰ. 개요 및 필요성

Bulkhead = 선박의 격벽
  한 구획에 물이 차도 다른 구획은 안전
  → 서비스 A 장애 → 서비스 B·C는 정상
  • 📢 섹션 요약 비유: Bulkhead는 잠수함의 격벽이다. 한 구획이 침수되어도 다른 구획은 안전하다.

Ⅱ. 아키텍처 및 핵심 원리

방식설명
스레드 풀서비스별 독립 스레드 풀
세마포어동시 호출 수 제한
K8s Limits컨테이너 CPU·메모리 격리

Ⅲ~Ⅴ. 결론

Bulkhead는 Circuit Breaker·Fallback과 함께 MSA 복원력의 3대 패턴이다.


📌 관련 개념 맵

개념연결 포인트
Bulkhead격벽 (리소스 격리)
Circuit Breaker장애 전파 차단
Rate Limiting과부하 방지
ResourceQuotaK8s 리소스 격리
Resilience4jBulkhead 구현 라이브러리

📈 관련 키워드 및 발전 흐름도

[공유 스레드 풀 (전통)] → [Hystrix Bulkhead (2012~)]
    → [Resilience4j Bulkhead (2018~)]
    → [K8s ResourceQuota (컨테이너 격리)]
    → [현재: 서비스 메시 Bulkhead — Istio 자동 격리]

👶 어린이를 위한 3줄 비유 설명

  1. Bulkhead는 잠수함의 격벽이에요. 한 칸에 물이 차도 다른 칸은 안전해요.
  2. 격벽이 없으면 물(장애)이 전체로 퍼져서 잠수함(시스템) 전체가 침몰해요.
  3. 서비스마다 벽을 세우면 한쪽 문제가 다른 곳에 영향을 안 줘요!