Monolithic(모놀리식)
📌 정의
마이크로서비스가 아닌 전통의 아키텍처를 지칭하는 의미로 생겨난 단어이다.
위처럼 모든 모듈은 서비스 내부의 Product 형태로 종속되어 있으며, 서비스에만 집중할 수 있는 구조로 되어있다.
Monolithic는 하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍처를 가지는 것을 지칭한다.
👍 장점
개발 초기에는 단순한 아키텍처 구조와 개발의 용이함이 큰 장점이다.
👎 단점
- 규모가 커짐에 따라 복잡도가 심각하게 증가한다.
- 부분 장애가 전체 서비스의 장애로 확대될 수 있다.
- 부분적은 Scale-out이 어렵다.
- 서비스의 변경이 어렵고, 수정 시 장애의 영향도 파악이 힘들다.
- 배포 시간이 오래 걸린다.
- 한 Framework와 언어에 종속적이다.