핵심 요약
여기어때가 Spring Modulith를 도입해 모놀리스를 모듈 경계가 명확한 Modular Monolith로 전환했고, CI에서 모듈 의존 규칙을 검증하며 자동 문서화와 이벤트 기반 통신을 도입했습니다.
주요 경험
- ApplicationModule와 verify()로 의존을 명시하고 위반 시 빌드가 실패하도록 설정했습니다.
- 이벤트 기반 통신으로 트랜잭션 경계에 맞춘 읽기 모델 동기화와 비동기 처리를 구분해 결합도를 낮췄습니다.
얻은 인사이트
- 모듈 경계 설계는 도메인 이해에 좌우되며, 무분별한 모듈 수 증가는 피해야 합니다.
- CI 검증과 자동 문서화가 거버넌스와 유지보수성을 크게 향상시킵니다.
- 향후 모듈 분리 시 이벤트 기반 아키텍처가 전환을 수월하게 해 줍니다.
- 공유 모듈은 작게 유지하고 네임스페이스 관리와 초기 규칙 정립이 중요합니다.


