
Devlime 공유 도메인/MS 간 도메인 참조 설계
두줄요약
공유 API 유무와 성능 이슈를 기준으로 MS 간 도메인 참조 방식을 구분했습니다. 기본은 ID 참조이며, 성능 문제가 확인될 때만 표시용 VO 동기화를 검토합니다.
문제 상황
- Prism에서 Scrum의 AgileProject와 Crewit의 Project 관계 정의 및 공수 정보 표시 요구
- 공유 API를 통한 MS 간 도메인 참조와 공유 도메인 설계 필요
구조와 흐름
- 공유 API 부재 시 참조 MS 내부에 원본 정보를 엔티티로 직접 보유
- 공유 API와 성능 이슈 부재 시 참조키만 보유하고 조회 시 공유 API 호출
- 반복 호출·N+1 성능 이슈 확인 시 표시용 VO 보유 및 배치·지연 갱신 전환
선택 이유
- 공유 도메인에 원본과 동일한 생명주기, 공유 필요 필드만 반영
- 원본 이벤트와 ProjectionHandler로 공유 도메인 갱신
- StaffingProject를 공수 정보 중심의 공유 프로젝션으로 재정의
트레이드오프
- ID 참조 방식의 데이터 중복 최소화와 실시간 API 호출 비용
- VO 방식의 조회 성능 개선과 최신성 지연 허용
- VO를 표시 전용으로 제한하고 비즈니스 판단 시 원본 재조회
- syncedAt 노출을 통한 데이터 최신성 추적

