MSA는 MicroService Architecture
의 줄임말로, 소프트웨어 개발 기법 중 하나입니다.
MSA는 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스들로 구성된 프레임워크입니다.
경량화되고 독립적인 여러 개의 서비스를 조합하여 애플리케이션을 구현하는 방식으로 서비스마다 자체 데이터베이스를 가지고 동작하기 때문에 개발부터 빌드, 배포까지 효율적으로 수행할 수 있습니다.
장점
단순한 구조
개발환경과 방법의 통일성
배포가 간편
End to End 테스트가 쉬움
단점
프로젝트의 규모가 커질수록 복잡도가 심각하게 증가
코드 전체를 이해하기 힘듬
빌드시간의 증가 (CI/CD 불가능)
새로운 기술을 적용하려면 프로젝트를 다 뜯어고쳐야할수있음