MSA란?

야부엉·2024년 8월 7일
post-thumbnail

1. MSA

1.1 MSA란?

MSA(MicroService Architecture)는 이름 그대로 하나의 애플리케이션을 여러 개의 독립적인 서비스(Micro Service)로 분리하여 개발, 배포, 유지보수를 용이하게 하는 아키텍쳐이다. 그림으로 살펴보면,

서비스를 각 도메인 별로 하나의 애플리케이션으로 분리하는 모습을 볼 수 있다.

모놀리틱 아키텍쳐

  • 위의 그림에서 보이는 서비스를 나누지 않고 하나의 어플리케이션으로 관리하는 아키텍쳐

1.2 MSA가 생긴 이유

모놀리틱 아키텍쳐는 간단한 배포가 가능하고, 단일 데이터 베이스를 사용하기 때문에 서비스 초기에는 유용하지만, 지속적인 확장이 일어날 경우 전체 애플리케이션을 확장이 필요하고, 변경에 따른 전체 애플리케이션 재배포가 일어나기 때문에 비효율적이다.

그래서 생겨난게 MSA!! 즉, 각 서비스를 분리했기 때문에 독립적으로 배포가 가능하고, 서비스마다 기술 스택도 자유롭게 선택이 가능하다. 물론, 모놀리틱보다는 복잡하고, 각 서비스마다 모니터링 등 개별적으로 관리해야해서 운영 비용이 증가한다는 단점이 있다.

profile
밤낮없는개발자

0개의 댓글