Web

마이크로 서비스 아키텍처(MSA)와 모놀리식 아키텍처 차이

itaeiou 2022. 1. 19. 11:21
반응형

마이크로 서비스 아키텍처 VS 모놀리식 아키텍처

 

모놀리식 아키텍처 란?

하나의 어플리케이션이 하나의 서비스로만 이루어진 구조.

마이크로 서비스 아키텍처 개념이 나오기 전에는 대부분 모놀로식 아키텍처로 개발되었다.

전통적인 어플리케이션 구조를 생각하면 된다. 하나의 WAR 파일로 어플리케이션을 패키징하는 방식이 모놀리식 아키텍처이다. 작은 서비스를 개발할 땐 모놀로식 아키텍처를 주로 사용한다.

장점

  • 개발 초기에 아키텍처 구조가 단순해 개발에 용이하다.
  • 서비스 환경이 동일하여 복잡하지 않다.
  • end-to-end 테스트가 용이하다.
  • 쉽게 고가용성 서버 환경을 만들 수 있다.

단점

  • 항상 전체를 빌드/테스트/배포 해야한다.
  • 어필리케이션 구동 시간이 늘어나고, 빌드 배포 시간도 길어진다.
  • 개발자가 모든 코드를 이해할 수 없고, 유지보수가 어렵다.
  • 일부분의 오류가 전체에 영향을 끼친다.

 

마이크로 서비스 아키텍쳐 란?

하나의 어플리케이션이 여러 서비스로 분산된 구조.

모놀로식 아키텍처의 반대로, 여러개의 서비스가 API로 통신하며 하나의 어플리케이션을 이룬다.

서비스에 맞는 각각의 DB를 가지기 떄문에, 언어와 기술 선택에 있어 비교적 자유롭다.

규모가 큰 어플리케이션에 적합하다.

장점

  • 수정된 서비스만 빌드/테스트/배포가 가능해, 빠르게 배포할 수 있다.
  • 해당 기능에 맞는 기술, 언어를 선택할 수 있다.
  • 일부분의 오류가 생겨도 전체 서비스가 멈추지 않는다. 해당 부분만 고쳐 정상화가 가능하다.
  • 기능별로 서비스를 나누어 개발하기 때문에, 개발자가 한 서비스를 온전히 이해할 수 있다.

단점

  • 초기 개발 시 적절한 서비스로 분해하기 어렵다.
  • end-to-end 테스트가 어렵다.
  • 여러 서비스가 분산되어 있기 때문에 모니터링이 어렵다.
  • 통신 관련 오류가 잦을 수 있다.

 

참고

기록이 곧 발전이다

https://code-masterjung.tistory.com/87

반응형

'Web' 카테고리의 다른 글

[JAVA] Log4j 취약점 Log4Shell  (0) 2021.12.28
SSR(Server Side Rendering)과 CSR(Client Side Rendering) 차이  (0) 2021.12.01
CI/CD란?  (0) 2021.09.08
무료 웹 템플릿 사이트 정리  (5) 2021.02.26
무료 도메인 설정 (2)가상호스트  (0) 2020.06.02