CS

MSA 방식이란?

쿠키담임선생님 2022. 11. 14. 08:35

MSA(Micro Service Architecture


마이크로 서비스 아키텍처(MSA) 를 줄임말로 레고 블럭을 쌓듯 하나의 어플리케이션을 여러개의 작은 단위로 쪼개서 변경과 조합이 가능하도록 만든 형태.

 

MSA 방식의 특징


  1. 각각의 서비스는 크기가 작을 뿐, 서비스 자체는 하나의 모놀리식 아키텍처와 유사한 구조를 가진다.
  2. 독립적으로 배포 가능.
  3. 다른 서비스에 대한 의존성이 작아야한다.
  4. 각 서비스는 REST API 와 같은 가벼운 방식으로 통신되어야한다.

 

MSA 방식의 장점


  1. 서비스 별 개별 배포 가능.
  2. 독립 배포가 가능함으로 개발자의 자율성 증가.
  3. 요구 사항 신속 반영.
  4. 확장성이 용이하다.
  5. 클라우드 사용에 적합.
  6. 장애가 전체 서비스로 확장될 가능성이 적다.
  7. 부분적 장애에 대한 격리가 수월하다.
  8. 유지 보수하기 쉽다.

 

MSA 방식의 단점


  1. 서비스 간 호출 시 API 를 사용하기 때문에 통신 비용 및 지연 시간이 증가한다.
  2. 데이터가 여러 서비스에 걸쳐서 분산됨으로 한 번에 조회하기 어렵다.
  3. 단위 테스트는 쉽지만, 통합 테스트로 들어가면 시간과 비용이 많이 든다.
  4. 각 서비스 별로 데이터베이스가 있으므로 트랜잭션을 구현하기 까다롭다.
  5. 개발 및 관리가 어렵고, 비용이 많이 든다.