MSA란

image.png

모놀리식 VS MSA

구분 모놀리식(Monolithic) MSA(MicroService Architecture)
실행 방식 하나의 JAR 파일로 실행 서비스마다 별도 JAR 파일로 실행
DB 모든 기능이 같은 DB를 공유 서비스별로 독립 DB 사용
배포 기능 하나만 수정해도 전체 다시 빌드/배포 해당 서비스만 빌드/배포
확장성 전체 애플리케이션을 확장 특정 서비스만 독립적으로 확장
장애 영향 하나의 장애가 전체에 영향을 줌 장애가 발생해도 다른 서비스는 동작
개발 / 운영 난이도 구조 단순, 작은 서비스에 적합 운영 복잡, 모니터링&통신 관리 필요

MSA로 전환하는 대표 이유

장점

1. 독립 배포로 개발 속도 향상

2. 독립 확장으로 비용/성능 최적화

3. 장애 격리

4. 조직/도메인 규모가 커질수록 책임 분리가 필요