
DDD와 MSA 기반으로 좋은 서비스 개발하기
두줄요약
DDD의 느슨한 결합과 높은 응집 원칙으로 MSA의 도메인 경계를 설명했습니다. 독립 배포와 기술 다양성의 이점, 과도한 분리·다양성의 주의점을 정리했습니다.
구조와 흐름
- 비즈니스 문제를 기준으로 서비스 도메인 분할
- 도메인 내부의 높은 응집과 도메인 간 느슨한 결합
- 도메인 내부 API 기반 동기 호출·공유 DB 가능성과 도메인 외부 메시지 기반 비동기 통신·DB 분리
선택 이유
- 변경 범위를 특정 도메인 내 마이크로서비스로 제한하는 명확한 모듈 경계
- 의존성 분리를 통한 마이크로서비스별 독립 배포
- 도메인별 문제 해결에 적합한 기술 스택 선택 여지
트레이드오프
- 도메인 경계 오류 시 인터페이스 결합 또는 서비스 분산에 따른 시스템 복잡도 증가
- 과도한 기술 다양성에 따른 복잡성·비효율
- 기술 다양성 확대 시 도메인 간 연동 인터페이스 설계 부담
적용해볼 점
- 서비스 세분화 이전에 함께 묶을 서비스와 분리할 서비스의 도메인 경계 검토
- 조직 성숙도를 고려한 기술 다양성 수준 조절
- 배포 단위와 도메인 간 통신 방식을 함께 고려한 MSA 설계


