핵심 인사이트 (3줄 요약)
- 본질: Bulkhead(격벽)는 서비스·리소스를 격리된 풀(Pool)로 분리하여 하나의 장애가 다른 서비스로 전파되지 않도록 하는 MSA 복원력 패턴이다.
- 가치: 주문·결제·추천 서비스가 같은 스레드 풀을 공유하면 추천 서비스 장애 시 스레드 고갈→주문·결제도 장애(Cascading), Bulkhead로 분리하면 추천만 영향.
- 판단 포인트: 스레드 풀 Bulkhead(서비스별 독립 풀)·세마포어 Bulkhead(동시 호출 수 제한)·K8s ResourceQuota(컨테이너별 CPU·메모리 격리)가 구현 방식이다.
Ⅰ. 개요 및 필요성
Bulkhead = 선박의 격벽
한 구획에 물이 차도 다른 구획은 안전
→ 서비스 A 장애 → 서비스 B·C는 정상
- 📢 섹션 요약 비유: Bulkhead는 잠수함의 격벽이다. 한 구획이 침수되어도 다른 구획은 안전하다.
Ⅱ. 아키텍처 및 핵심 원리
| 방식 | 설명 |
| 스레드 풀 | 서비스별 독립 스레드 풀 |
| 세마포어 | 동시 호출 수 제한 |
| K8s Limits | 컨테이너 CPU·메모리 격리 |
Ⅲ~Ⅴ. 결론
Bulkhead는 Circuit Breaker·Fallback과 함께 MSA 복원력의 3대 패턴이다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
| Bulkhead | 격벽 (리소스 격리) |
| Circuit Breaker | 장애 전파 차단 |
| Rate Limiting | 과부하 방지 |
| ResourceQuota | K8s 리소스 격리 |
| Resilience4j | Bulkhead 구현 라이브러리 |
📈 관련 키워드 및 발전 흐름도
[공유 스레드 풀 (전통)] → [Hystrix Bulkhead (2012~)]
→ [Resilience4j Bulkhead (2018~)]
→ [K8s ResourceQuota (컨테이너 격리)]
→ [현재: 서비스 메시 Bulkhead — Istio 자동 격리]
👶 어린이를 위한 3줄 비유 설명
- Bulkhead는 잠수함의 격벽이에요. 한 칸에 물이 차도 다른 칸은 안전해요.
- 격벽이 없으면 물(장애)이 전체로 퍼져서 잠수함(시스템) 전체가 침몰해요.
- 서비스마다 벽을 세우면 한쪽 문제가 다른 곳에 영향을 안 줘요!