MSA(Microservice Architecture) 란

모듈화 되어 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크이다.
하나로 통합된 프로그램인 '모놀리식 아키택쳐'에서 서비스가 커져감에 따라 부분적인 Scale-out이 어렵고,

부분 장애가 서비스 전체 장애로 이어질 수 있는 등의 문제점이 발생하면서 떠오르는 서비스 아키택쳐이다.

장점

  • 각각의 서비스 모듈끼리는 API로 통신하기 때문에 다양한 언어와 기술로 서비스를 구축할 수 있다.
  • 서비스의 부하에 따라 개별적으로 Scale-out이 가능하다.

단점

  • 모놀리식에 비해 통합테스트가 어렵고 개발환경과 실제 운영환경을 동일하게 가져가기가 어렵다.
  • 서비스가 분산돼 있기 때문에 내부 시스템의 통신을 어떻게 가져가야 할지 정해야 해서 복잡하다.
  • 통신 장애나 서버의 부하 등이 있을 경우 어떻게 transaction을 유지할지 정하고 구현해야 한다.

 

참고 자료

 

[MSA] MSA란 무엇인가? 개념 이해하기

MSA가 무엇인지 자세하게 알고싶어 개인적으로 정리하는 포스팅입니다. MSA? MicroService Architecture의 줄임말 👉🏻 마이크로서비스 아키텍처에 대한 정확한 정의는 없다. 하지만 마이크로서비스란

wooaoe.tistory.com

 

'CS' 카테고리의 다른 글

Process 와 Thread  (0) 2023.10.05
클라이언트와 서버  (0) 2023.04.03
의존성 주입(Dependency Injection) 이란?  (0) 2023.03.28
OOP 3: SOLID 객체 지향 설계 5원칙  (0) 2023.03.28
OOP 2: 객체 지향 프로그래밍의 특징  (0) 2023.03.27

+ Recent posts