<aside>
💡 출처:
https://hyeon9mak.github.io/woowahan-multi-module/
https://velog.io/@msung99/멀티-모듈Multi-Module-이란-무엇이고-왜-써야할까
</aside>
멀티 모듈이란?
- 하나의 단일 프로젝트를 여러개의 모듈로 분리해서 구성하는 기법
- 각 모듈은 개별적으로 컴파일되어 라이브러리 또는 실행가능한 파일로 생성
모듈?? 그게뭔데
- 오라클 자바 돜(Doc)에서는, 모듈을 패키지의 한 단계 위의 집합체이며, 관련된 패키지와 리소스들의 재사용할 수 있는 그룹이라고 정의
멀티 모듈 쓰게된 배경
- 처음에는 여러개의 프로젝트가 하나의 저장소를 공유하는 방식이였다면, 이러한 다중 프로젝트를 하나의 자그마한 “모듈” 들로 쪼개서 멀티모듈화 시키자는 기똥찬 아이디어가 등장하게 되었다.

- 결국 기존의 여러 프로젝트를 각각의 모듈로 쪼개다보니 시스템 일관성도 보장되고 빠르게 개발할수 있게되었다.
- 그러다가 갑자기 MSA가 등장하게 되었다.
Monolithic Architecture & MSA 등장
Monolithic Architecture
- 기존의 여러 서비스들은 모놀리틱 아키텍처 방식으로써, 멀티 프로젝트에서 단일 모듈을 모듈을 사용하는 방식을 채택했다.
- 근데 규모도 커지고 불편하고 MSA가 맛집이래 소문이 돌자 너도나도 MSA를 하기 시작함 (밑에는 모놀리스 특징)
- 모놀리스(Monolithic)
- 온프레미스
<aside>
💡 근데 이게 모놀리스의 반대인지는 아직 모르겠다. 좀더 공부를 해봐야할듯
</aside>