토픽 91 / 192·마이크로서비스와 API
Bounded Context / Context Map
Bounded Context / Context Map
Bounded Context는 도메인 모델이 유효한 명확한 경계이며, Context Map은 BC 간 관계를 시각화한 도식
Bounded Context
- •같은 용어가 BC마다 다른 의미 (예: "상품" → 카탈로그BC에서는 상품 정보, 주문BC에서는 주문 항목)
- •하나의 BC = 하나의 마이크로서비스 (이상적)
- •자체 데이터 저장소, 독립 배포 단위
Context Map 패턴
- •Shared Kernel: 두 BC가 공통 모델을 공유, 변경 시 양쪽 합의 필요
- •Customer-Supplier: 상류(Supplier) BC가 하류(Customer) BC에 서비스 제공
- •Conformist: 하류가 상류 모델을 그대로 따름 (협상력 없음)
- •ACL (Anti-Corruption Layer): 외부 모델을 내부 모델로 변환하는 번역 계층
- •OHS (Open Host Service): 다수 소비자를 위한 공개 프로토콜/API 제공
- •Published Language: OHS에서 사용하는 공유 언어 (JSON Schema, Protobuf 등)
비교: Shared Kernel(공유/밀결합) vs ACL(변환/느슨결합) vs OHS(공개/표준화)
연관: DDD, 마이크로서비스, 전략적 설계, 유비쿼터스 언어