[기술면접] architecture - Monolithic

1. Monolithic Architecture

일반적인 서비스 구조, MSA가 아니면 monolithic이다.

예를들어, 모든 기능들이 뭉쳐있는 하나의 어플리케이션 서버와 데이터베이스로 이루어진 형태

그 문제들은 아래와 같다.

1. 빌드 시간이 길어진다

작은 규모에서는 문제 되지 않던 빌드 시간이 길어진다.
현재 CI / CD (지속적 통합 / 지속적 배포) 가 강조되면서 빌드/배포 시간을 줄이는 것이 중요하다.

2. 개발 언어에 종속적이다

상황에 맞게 유연한 기술을 사용하지 못함
개발 언어로 자바를 선택했으면 전체 서비스가 자바로 이루어 져야 함

3. 선택적 확장이 불가하다

원하는 서비스만 확장이 불가능하다.
한 부분의 기능만 업데이트 해도 되는데 전체를 빌드하고 배포해야 하는 상황이 발생한다.

4. 하나의 서비스가 모든 서비스에 영향을 준다.

한개 서비스에 트래픽이 몰리면, 서버 전체가 마비될 수 있는 상황이 발생할 수 있다.