티스토리 뷰
MSA
마이크로 서비스 아키텍처(Micro Service Architecture)의 약자로 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법
MSA의 특징
👉🏻 MSA는 API를 통해서만 상호작용할 수 있으며,실질적인 세부 사항은 모두 추상화한다.
내부의 구현 로직, 아키텍처와 프로그래밍 언어, 데이터베이스, 품질 유지 체계와 같은 기술적인 사항들은 서비스 API에 의해 철저하게 가려진다.
MSA의 장점
- 유지보수가 용이하다.
- 개발 모듈을 연동하는데 무리가 없다.
- 지속적인 배포(CD)도 모놀리식에 비해 가볍게 할 수 있다
- 마이크로서비스는 각각 서비스의 부하에 따라 개별적으로 scale-out(접속된 서버의 대수를 늘려 처리 능력을 향상)이 가능하다. 메모리, CPU적으로 상당부분 이득이 된다.
MSA의 단점
- 모놀리식에 비해 많이 복잡하다.
- 통신의 장애와 서버의 부하가 있을 경우 어떻게 트랜잭션을 유지할지 결정하고 구현해야한다.
- 비즈니스에 대한 DB를 가지고 있는 서비스도 다르고, 통신이 포함되기 때문에 트랜잭션을 유지하기 어렵다.
- 개발 환경과 실제 운영환경을 동일하게 가져가는 것이 쉽지 않아 통합 테스트가 어렵다 (구축 비용을 충당할 수 있다면 무관하다)
- 1개의 서비스 재배포 시 다른 서비스들이 정상적으로 돌아가는지 확인해야한다.
※ MSA 방식이 무조건 좋은것은 아니며 프로젝트 성격에 따라 다르다. 또한, 빈번한 API 호출로 인하여 트래픽이 증가될 수 있다.
'Development > .etc' 카테고리의 다른 글
jqGrid auto width (0) | 2022.04.14 |
---|---|
github local project upload (0) | 2022.04.08 |
안드로이드 크롬 디버깅 (0) | 2021.11.24 |
이클립스 SVN 프로젝트 받기 & 사용법 (0) | 2021.08.24 |
이클립스 탭(Tab), 띄어쓰기 표시 설정 & 단축키 (0) | 2021.08.18 |
- Total
- Today
- Yesterday