Spring Modulith로 MSA 전환, 유연하게!
by DD
11개월 전
조회수 17
MSA 전환 과정에서 모놀리스의 한계를 느껴 모듈러 모놀리스 아키텍처를 도입
Spring Modulith를 활용하여 도메인 간 경계를 설정하고 유연한 구조를 구축
모듈 간 의존성 검증을 통해 코드 품질을 향상시키고 MSA 전환의 유연성 확보
모듈러 모놀리스의 핵심 원리
모듈러 모놀리스는 모놀리스의 단순함과 MSA의 유연성을 결합한 아키텍처이다. 구체적으로, 도메인별 모듈 분리를 통해 코드의 유지보수성을 높인다. 따라서 Spring Modulith를 활용하여 모듈 간 의존성을 관리하고, MSA 전환을 위한 기반을 마련한다.
Spring Modulith의 장단점
Spring Modulith는 패키지 기반 모듈 분리를 통해 경계 설정을 용이하게 한다. 반면, 물리적 모듈 분리에 비해 경계 강제력이 약할 수 있다. 따라서 테스트 코드를 통해 의존성 검증을 강화하여 코드 품질을 확보하고, MSA 전환의 유연성을 높인다.
실제 적용 사례: 카카오뱅크
카카오뱅크는 Spring Modulith를 활용하여 수신상품을 관리하는 프로젝트에 적용했다. 구체적으로, 모듈 간 참조 방지를 위해 Public API를 제한하고, 공통 로직은 OPEN 모듈로 공개했다. 결과적으로 코드 중복 감소와 유지보수성 향상을 달성했다.