Build-Up
- 모듈이란?
기능상 성격이 비슷하고 연관성 있는 부분들의 집합을 말한다.
점점 비대해지는 프로그램을 좀 더 효율적으로 관리하기 위한 방법중 하나인 것이 멀티모듈과 MSA 이다.
- Module 분리 예시
- 서로 다른 서비스로 분리하기 보다는 비슷한 기능의 서비스를 하나 더 만든다고 볼 수 있다.
단일 소스 기반으로 서비스가 모듈화되므로 공통으로 사용하는 소스 코드의 유지 보수에 유리.

- 모듈 분리 적용 예시

- jar file 구성 및 동작 예시
개별 모듈의 jar 파일 생성시 common은 자동으로 패키징 된다.

멀티모듈이란
독립적인 프로젝트를 하나의 프로젝트 안의 모듈로서 가지고 있을 수 있는 구조를 제공하는 것이다.

왜 멀티모듈인가?
- 코드 중복을 줄일 수 있다.
- 각 모듈의 기능 파악이 용이해 진다.
멀티 모듈의 단점
- common 지옥에 빠져.. 결국 멀티 모듈의 이점을 가질 수 없게 되고 더 복잡한 스파게티 코드가 발생된다.
- 모놀리식과 별 다를게 없어진다.
- 설계가 어렵다.
멀티모듈 실습 방법 및 Issue 해결
Refer
- 너무 어려운 블로그….