서비스를 분리하고 각 서비스를 연동하는 구조.

모놀리식과 MSA 장단점

모놀리식MSA
장점- 배포 단순
- 코드 관리 용이
- 성능 높이기위해 복잡한 구조 가질 필요 없음
- 테스트와 디버깅이 쉽다
- 독립적인 배포와 지속적 배포 용이
- 성능 확장 용이
- 기술에 대한 유연성 가질 수 있음
- (보통) 개발자 만족도 높음
단점- 규모 커질수록 개발 속도 저하가능성 존재
- 한 기능 문제가 전체에 영향 줄 . 수있다.
- 구현 기술 변경 어려움 존재
- 작은 변경도 전체를 다시 배포해야됨
- 테스트와 디버깅 어려울 수 있다
- 모놀리식 대비 인프라 복잡
- 소통에 따른 부하 증가
- 무분별하게 서비스 만들면 분산 모놀리식이 될 수 있음

MSA 아키텍처 구축(2023, 한빛미디어)

MSA 6가지 핵심 개념

  1. 독립적 배포
  2. 도메인 중심 모델링
  3. 자신의 상태를 가짐
  4. 크기
  5. 유연함
  6. 아키텍처와 조직을 맞춤

모놀리식이 나쁜가?

대부분 모놀리식의 문제는 설계와 코드 품질이 문제. 이 상태로 MSA로 분리해도 구조와 품질이 나쁘니 이는 결과적으로 더 복잡한 구조만 초래할 수 있다.