전체 서비스를 관통하는 도메인 모듈을 안전하게 분리하기
아키텍처
전체 서비스를 관통하는 도메인 모듈을 안전하게 분리하기
두줄요약
WMS의 입고·재고·출고가 얽힌 구조를 재고 도메인부터 분리해 안전하게 개선했습니다. 헥사고널 아키텍처, 피처 플래그, 테스트와 문서화로 큰 변경을 점진적으로 배포했습니다.
문제 상황
- WMS의 입고·재고·출고가 하나의 도메인으로 얽혀 수정 범위가 넓고 사이드 이펙트가 큰 구조
- 재고 고도화 과정에서 영향 범위 분석과 QA 비용이 커져 도메인 분리 필요성 대두
해결 방법
- 재고 전용 모듈을 만들고 관련 엔터티, 리포지토리, 서비스를 이동해 응집도 강화
- 입출고와 재고의 직접 결합은 연관관계 제거, join 제거, 서비스 분리로 축소
- 오케스트레이션은 헥사고널 아키텍처와 port-adapter로 분리하고, 아크유닛으로 구조 규칙 강제
성능/운영 포인트
- 피처 플래그와 센터 단위 점진 배포로 231개 API 변경을 안전하게 반영
- 주 단위 배포, 핵심 흐름 테스트, ADR 문서화로 운영 리스크와 협업 비용 완화
- 도메인 분리 후 코드 커버리지 증가와 전체 복잡도 감소 경험
