하나의 큰 서비스를 기능별로 독립된 작은 서비스(Micro Service)로 나누어 개발·배포·운영하는 구조
MSA는 기본의 Monolithic Architecture(모놀리식, 단일 구조) 문제를 해결하고 대규모 서비스 확장성과 유지보수성을 확보하기 위해 등장한 아키텍처 패털
| 구분 | Monolithic | MSA |
|---|---|---|
| 구조 | 하나의 큰 애플리케이션 | 여러 독립 서비스 |
| 배포 | 한 번에 배포 | 서비스 단위별 독립 배포 |
| 장애 영향 | 전체 서비스 중단 가능 | 서비스 단위 장애 격리 |
| 확장 | 전체 확장 | 특정 기능만 확장 가능 |
| 기술 스택 | 동일 | 서비스별 다른 기술도 가능 |
| 개발 속도 | 커질수록 느려짐 | 분리된 팀으로 빠르게 개발 |