DDD에서 말하는 도메인이란?
⇒ 비즈니스 Domain, 즉 유사한 업무의 집합
DDD?
⇒ Domain Driven Design
위에서 말한, 비즈니스 Domain별로 나누어서 설계하는 방식
DDD의 핵심 목표 : 의존성 최소화, 응집성 최대화
DDD는 Strategic Design(개념적 설계)과 Tactical Design(구체적 설계)으로 나뉨
Strategic Design
: 비즈니스 Domain의 상황에 맞게 설계하는 것(큰 그림을 그림)
Tactical Design
: 구체적인 코드 레벨에서 도메인 로직을 어떻게 구현할지 설계하는 것
Monolithic Architecture
: 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태
단점 : 부분 장애가 전체 서비스의 장애로 확대될 수 있음
Microservice
: 하나의 소프트웨어를 독립적인 여러 개의 애플리케이션으로 나눠서 개발, 배포하는 것
MSA를 DDD로 구축하기