[도메인 주도 설계 핵심] 4장 컨텍스트 매핑과 전략적 설계
28 Mar 2020
컨텍스트 매핑
매핑의 종류
파트너십
- 두 팀이 하나의 bounded context를 책임지는 경우 두 팀 사이의 관계
공유 커널(shared kernel)
- bounded context의 교차 지점이 존재할 경우
고객-공급자
- 공급자(Upstream)
- 고객(Downstream)
- 하류 팀이 상류 팀 모델을 따르는 경우
- 예)아마존과 판매자가 시스템 통합을 하려고 할 때 판매자가 아마존의 모델을 따라간다.
반부패 계층(Anticorruption Layer)
- 하류 팀이 그들의 모델과 상류 팀의 모델 사이에 번역 계층을 만드는 것
공개 호스트 서비스
- bounded context에 대한 접근을 제공하는 프로토콜이나 인터페이스
공표된 언어
각자의 길(Separate Ways)
- bounded context통합이 무의미하다고 판단되는 경우
- 자신의 bounded context 내에서 해결방안을 만든다.
큰 진흙 덩어리
- 무조건 피해야 한다
- anticorruption layer를 만들어서 모델을 보호하자.
- 무슨일이 있어도 언어를 섞어쓰면 안 된다.
컨텍스트 매핑 활용하기
통합 방법
- SOAP를 이용한 RPC
- RPC: remote procedure call
- Restful HTTP
- 메시징
- At least once delivery를 보장해야 한다.
- 구독 bounded context가 idempotent receiver로 구현되어야 한다.
- 도메인 이벤트 소비자는 준수자(conformist)인가?
- 소비자에게 준수자 관계를 강요하지 않아야 한다.
- 소비자는 이벤트 발행자의 이벤트 형태(예- 클래스)를 사용하면 안된다.