imsseong
2023. 8. 18. 15:03
1. 모노리스
가장 단순한 단일 프로젝트
의존성 관리 힘듦
하나의 컴포넌트에 오류 발생시 관련 서비스들 모두 장애
2. 멀티 모듈을 layer 별로 구성(core, service, api 등) -> 모노리스(하나의 jvm)
패키지 의존성 관리에 신경써야함
도메인 간 분리가 어려울 수 있다. 해당 layer 의 도메인이 다른 layer 의 도메인과 어떻게 이어지는 지 모를 수 있다.
3. 멀티 모듈을 도메인 별로 구성하지만 -> 모노리스(하나의 jvm)
프로젝트가 서비스 단위로 나뉨
새로운 서비스 추가시 모듈 새로 생성해서 작업 분리된 환경에서 개발 가능
4. 멀티 모듈을 도메인 별로 구성 -> msa(여러 jvm)
서비스 간 의존도 가장 낮음
서비스 scale up 하기 용이함
서비스 간 통신에 신경써야함