MSA

Monolithic Architecture 란
- Monolithic Architecture는 소프트웨어의 모든 구성요소가 하나의 프로젝트에 통합이 되어 있는 형태를 의미합니다. 어플리케이션을 하나의 결과물로 패키징하여 배포하는 형태를 취합니다.
MSA 란
- MSA 란 MicroService Architecture의 약자로서 정말 작고, 독립적으로 배포가 가능한 기능을 수행하는 서비스로 구성된 프레임워크하고 할 수 있습니다. 마이크로 서비스는 완전히 독립적으로 배포가 가능하고 다른 기술 스택(개발언어, 데이터 베이스 등) 이 사용 가능한 단일 사업 영역에 초점을 둡니다.
Micro Service의 정의

- 각각의 서비스 크기가 작지만, 전체 서비스 관점에서 보면 Monolithic Architecture과 유사합니다.
- 각각의 서비스는 독립적으로 배포가 가능합니다.
- 각각의 서비스 들은 다른 서비스에 대한 의존성이 최소화 되어야 합니다.
아키텍쳐 별 장 단점
Monolithic Architecture의 장점
- 소규모 프로젝트 진행시 합리적입니다.
- 아키텍쳐가 간단하고 유지보수가 용의하기 때문입니다.
Monolithic Architecture의 단점
- 하나의 장애가 전체에 영향을 미칠 수 있다.
- 부분적인 scale out이 어렵다. (여러개의 서버로 일을 분산 처리하는 것)