독립적인 작은 서비스들로 나누어 개발하는 아키택처
-> 서로 독립적으로 배포되고 운영될 수 있음
장점:
단점:
-> 하나의 큰 코드베이스로 구성된 어플리케이션(모든 기능이 하나의 어플리케이션 내에 포함됨)
장점: 간단한 배포, 단일DB
단점: 확장성부족 , 유연성 부족
아래는 모놀리틱 아키택쳐랑 비교한것이다
이미지 출처: https://metanetglobal.com/bbs/board.php?bo_table=tech&wr_id=38
어플리케이션의 규모가 크거나 빠른 요구에 의한 확장성이 필요하다면 MSA를 사용
반대로, 개발 리소스가 적거나 , 단순한 어플리케이션이라면 모놀리틱을 선택하는것이 더 낫다