imsseong 2023. 8. 18. 15:03

1. 모노리스

가장 단순한 단일 프로젝트

의존성 관리 힘듦

하나의 컴포넌트에 오류 발생시 관련 서비스들 모두 장애

 

2. 멀티 모듈을 layer 별로 구성(core, service, api 등) -> 모노리스(하나의 jvm)

패키지 의존성 관리에 신경써야함

도메인 간 분리가 어려울 수 있다. 해당 layer 의 도메인이 다른 layer 의 도메인과 어떻게 이어지는 지 모를 수 있다.

 

3. 멀티 모듈을 도메인 별로 구성하지만 -> 모노리스(하나의 jvm)

프로젝트가 서비스 단위로 나뉨

새로운 서비스 추가시 모듈 새로 생성해서 작업 분리된 환경에서 개발 가능

 

4. 멀티 모듈을 도메인 별로 구성 -> msa(여러 jvm)

서비스 간 의존도 가장 낮음

서비스 scale up 하기 용이함

서비스 간 통신에 신경써야함