6. Monolithic 특징
특징
모든 구성요소가 한 프로젝트 안에 통합된 형태
문제점
프로젝트 규모가 커질수록, 개발자가 많아질 수록 한계 (conflict)
하나의 Framework를 사용해야 함
빌드 / 배포 시간이 오래 걸림 예) 현재 홈페이지
규모가 클 경우 수정이 어렵다
“문제 해결보다 코드 해석에 집중하게 된다.”
13. 설계 전략 Front
Front
EN, KR 분리 - 의존성 분리 효과를 얻을 수 있다
그 외의 페이지는 큰 역할이 없기에 분리하면 손해
14. 설계 전략 Back
하나의 서비스는 하나의 역할만 해야함
비즈니스 로직 별 분리
USER 서버 - user에 대한 모든 것
로그인 서버 - 로그인, 가입, 메일인증 등
GOODS 서버 - 상품 관리, 판매
파일 서버 - 파일 업로드 다운로드
career, qna, contact 등 구조 개선 필요
예 ) Career과 qna둘다 유저가 요청하는 api
HomepageController.java <<
15. 구조 개선 장단점
장점
서비스를 하나씩 분리하여 원하는 기술을 도입하기 쉽다.
Mybatis -> JPA
Java -> Kotlin
문제점
DB도 서비스마다 독립되기 때문에 JOIN하기가 어렵다.
Table Join에 대한 전략 구상 필요
Endpoint가 많아진다
api URL을 한곳으로 모아주는 라이브러리 도입 필요