MSA는 MicroService Architecture의 첫 글자를 딴 단어입니다
복잡한 애플리케이션을 작고 독립적인 서비스들로 나누어 개발하는 구조로
이때 각각의 비즈니스 로직과 데이터베이스를 가지며, API를 통해 서로 통신 합니다
에자일 방법과 대규모 프로젝트에 적합한 구조입니다
이미지 출처: https://jennifersoft.com/en/blog/tech/micro-service-vs-legacy-seen-in-the-case-of-netflix/
MSA와 흔히 비교되는게 전통적인 구조의 모놀리식 아키텍처입니다
소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어있는 형태입니다
개발, 빌드, 배포, 테스트가 용이하다는 장점이 있어
소규모 프로젝트에 적합하고 현재도 많이 사용되고 있는 방식입니다
하지만, 단점 또한 존재하는데요
프로젝트가 커질 수록 전체 시스템 구조 파악이 어렵고, 빌드/테스트/배포 시간이 늘어납니다
또한 부분적인 장애가 발생할 경우 전체 서비스의 장애로 이어집니다
이런 단점을 보안하고자 MSA가 등장하게 되었습니다
https://velog.io/@tedigom/MSA-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1-MSA%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-3sk28yrv0e
https://seungh1024.tistory.com/64
https://wooaoe.tistory.com/57
https://youtu.be/8d4h7K_Fq-0?si=6bCYgiDEPBGeUz74
https://youtu.be/dSGnJWHuxtQ?si=vU3o_tzBOQwlTyng