모놀리스 아키텍처(Monolithic Architecture)
모든 종류의 서비스가 하나의 App으로 구성
되어 있는 아키텍처1개의 주요 프로세스
모든 서비스 == 1개의 DB endPoint
장점
: DB가 1개(DBA 운영 good, MSA처럼 DB 여러개 X -> 관리 쉬움)단점
: 장애시, 모두 사망But
CI의 단위가 달라진 뿐, CD의 범위는 전체서버가 1개이므로 리소스를 효율적으로 활용 가능
모놀리식 아키텍처 모듈을 구성하는 방식은 다름 : 대표적 싱글 모듈과 멀티 모듈
공통점
(모놀리스)Common 코드가 존재
하기 때문에 결국에는 전체를 재배포 필요
단일 모듈
에 존재응집성 + 결합성 높음
-> 유연성, 확장성 낮음
싱글
패키지역할, 서비스 별
로 모듈화응집성 + 결합성 낮음
-> 유연성, 확장성 높음
모듈간 인터페이스 정의
필요 -> 아키텍처와 관련멀티
패키지IDC(고급서버)리소스
를 최적화해서 사용
가능서버 DB가 1개
이기 때문에Common 모듈 활용 쉬움
(싱글, 멀티 모두 해당)Scale Out 어려움
-> 단일 DB 의존성 높음
규모가 커지면
복잡성
이 올라가 수정사항이 많이 생김
단순한 수정
-> 전체 배포
(시간 오래걸림)장애시, 전체 App 영향
가장 중요!!!!!!!!!!!!!!!!!!