Learning
토픽 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, 마이크로서비스, 전략적 설계, 유비쿼터스 언어