서비스를 분리하고 각 서비스를 연동하는 구조.
모놀리식과 MSA 장단점
| 모놀리식 | MSA | |
|---|---|---|
| 장점 | - 배포 단순 - 코드 관리 용이 - 성능 높이기위해 복잡한 구조 가질 필요 없음 - 테스트와 디버깅이 쉽다 | - 독립적인 배포와 지속적 배포 용이 - 성능 확장 용이 - 기술에 대한 유연성 가질 수 있음 - (보통) 개발자 만족도 높음 |
| 단점 | - 규모 커질수록 개발 속도 저하가능성 존재 - 한 기능 문제가 전체에 영향 줄 . 수있다. - 구현 기술 변경 어려움 존재 - 작은 변경도 전체를 다시 배포해야됨 | - 테스트와 디버깅 어려울 수 있다 - 모놀리식 대비 인프라 복잡 - 소통에 따른 부하 증가 - 무분별하게 서비스 만들면 분산 모놀리식이 될 수 있음 |
MSA 아키텍처 구축(2023, 한빛미디어)
MSA 6가지 핵심 개념
- 독립적 배포
- 도메인 중심 모델링
- 자신의 상태를 가짐
- 크기
- 유연함
- 아키텍처와 조직을 맞춤
모놀리식이 나쁜가?
대부분 모놀리식의 문제는 설계와 코드 품질이 문제. 이 상태로 MSA로 분리해도 구조와 품질이 나쁘니 이는 결과적으로 더 복잡한 구조만 초래할 수 있다.