본문 바로가기

Web27

[MSA] Spring Multi module 사용하기-2 INTRO 저번에는 core, common, api 이렇게 세 개의 모듈을 만들고 gradle 설정에 등록했다. 이제 간단한 테스트를 진행해서 이 친구들이 제대로 역할을 해 내는지 확인해 보기로 한다. Spring 내장 H2 Database에 Account 테이블을 만들어서 계정 정보를 저장하고, 해당 계정 정보를 그냥 페이지에 띄워 볼 거다. 나중에 제대로 된 DB를 연동하겠지만 일단 제대로 연결됐는지는 알아야 하니까. module-common에 있는 데이터들을 module-api에서 가져와 프론트로 뿌려주기만 할 거다. 클래스 구조 module-common에 domain 관련 코드를 작성하고, module-api에는 service와 controller를 작성한다. module-common 취향대로 R.. 2021. 7. 3.
[MSA] Spring Multi module 사용하기-1 InteliJ에서 SpringBoot Gradle Multi Module (자동으로) 추가하기 여기다 가장 쉽게 모듈 추가하는 법은 File > New Module 해서 같은 group에 넣는 방식임. 딱히 별 거 만질 필요도 없이 최상위 디렉토리 아래에 이런 모듈이 생성된다. 그리고 gradle 아래 있는 .iml이 거슬리기 시작함. iml은 IntelliJ IDEA Modul의 약어로, 개발하는 모듈의 의존성이나 경로, 기타 설정값 같은 정보를 담고 있다. 빌드 시에 얘를 참고하기 때문에 이 친구를 지워버리면 Gradle Sync Failed가 떠 버림. 까보면 이렇게 써 있다. 사실 별 게 없고, ide 설정파일에 가까워서 딱히 이 친구를 남기고 싶은 생각이 안 든다. 보통 개발 진행하시는 동안 이.. 2021. 7. 3.
[MSA] MSA가 뭔지 모르겠어 Spring과 디자인 패턴을 공부하면서 반복적으로 언급되는 공통의 목표는 결합도를 끊는 일이다. 기존에는 프로젝트를 Monolithic 구조로 구성해 왔지만 MSA에 대해 알게 되면서 공부한 점들을 정리하자. 모놀리틱과 마이크로서비스 각각 장단점이 있으므로 맞는 걸로 골라 쓰면 될 것 같다. Monolithic Architecture High Cohesion and Low Coupling. 소프트웨어 = 단일 프로젝트 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 구조. 개발이 완료된 어플리케이션을 하나의 결과물로 빌드해서 배포하는 방식이다. Vue.js나 React 프로젝트를 Spring API 프로젝트의 resources에 빌드해 넣어서 한 번에 돌리는 방식이 Monolithic에 속한다... 2021. 7. 3.
반응형