
아키텍처
멀티모듈 프로젝트, 왜 그리고 어떻게 해야 할까?
두줄요약
대규모 검색 API를 멀티모듈 구조로 리팩토링한 사례를 정리했습니다. 도메인 분리와 의존성 정리를 통해 유지보수성과 협업 효율을 높이는 방법을 설명했습니다.
핵심 내용
- 대규모 검색 API 리팩토링 과정에서 모놀리식 구조를 멀티모듈 구조로 전환한 사례
- core-domain, core-infra, core-app, api-autocomplete, core-common으로 역할과 의존성을 분리한 구조 소개
- 클린 아키텍처와 함께 적용하며 유지보수성, 재사용성, 병렬 개발성을 높이는 방향 제시
선택 이유
- 도메인을 중심으로 비즈니스 규칙을 순수하게 유지하고 외부 기술 오염을 방지
- 공통 로직 중복 감소와 모듈 단위 재사용으로 개발 효율 개선
- api → app → domain ← infra 같은 의존성 방향으로 아키텍처 붕괴 예방
장단점
- 장점: 관심사 분리, 협업 용이, 테스트 범위 축소, 결합도 감소
- 단점: 초기 설정 복잡, 러닝 커브 존재, 과도한 모듈화 위험, 디버깅 번거로움
적용해볼 점
- 도메인 기준과 계층 기준을 섞어 모듈 분리 기준을 명확히 정의
- 한 번에 분리하지 말고 점진적으로 마이그레이션
- 모듈 역할, 의존성 방향, 테스트 전략, 버전 관리를 문서화해 일관성 유지
