관리 메뉴

JUNGKIMHOON

MSA (Microservice Architecture)란? 본문

후라이빗라이프

MSA (Microservice Architecture)란?

JUNGKIMHOON 2020. 10. 14. 21:26

Monolithic Architecture (기존)

서비스의 아키텍처를 구성할 때 모든 서비스를 구성하는 비즈니스 로직, DB, UI를 하나의 패키지에 담아 빌드하고 배포하는 방법

장점 
  • 빠르고 단순하게 설계 가능하다.
단점 
  • 서비스 부하에 개별로 대응하기 쉽지않다.
  • 문제 발생시 부분의 문제가 전체 서비스 장애를 부를 수 있다.
  • 하나의 framework에 종속적이다. (Spring을 사용한다면 node.js의 모듈을 사용할 수 없음)

MSA (Microservice Archtecture) ?

MSA란 마이크로 서비스 아키텍처(Micro Service Architecture)의 약자로 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 API기반의 서비스 지향적 아키텍처 스타일

MSA는 API를 통해서만 상호작용할 수 있다. 즉, 마이크로 서비스는 서비스의 end-point(접근점)을 API 형태로 외부에 노출하고, 실질적인 세부 사항은 모두 추상화한다. 내부의 구현 로직, 아키텍처와 프로그래밍 언어, 데이터베이스, 품질 유지 체계와 같은 기술적인 사항들은 서비스 API에 의해 철저하게 가려진다. 

장점
  • 기능에 따라 기술 스택을 다르게 사용할 수 있다.
  • 서비스의 부하에 따라 개별로 핸들링할 수 있다.
단점
  • 복잡성이 증가한다.
  • MSA는 서비스가 분산되어 있어 트랜잭션을 유지하는 것이 어렵다.
  • 통합 테스트가 어렵다

 

결론 : 공부를 더해야겠다.

 

참조

sabarada.tistory.com/51?category=822070

Comments