Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 1.85 KB

MSA.md

File metadata and controls

29 lines (22 loc) · 1.85 KB

MSA

MSA (MicroService Architecture)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처 스타일의 일종인 소프트웨어 개발 기법을 가진 아키텍처. 작고 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크

특징

  • 애플리케이션을 조그마한 여러 서비스로 분리
  • API를 통해서만 상호작용 가능
  • 서비스의 end-point을 API 형태로 외부에 노출하고, 실질적인 세부 사항은 추상화

장점

  • 모듈성 개선
  • 애플리케이션의 이해, 개발, 테스트를 더 쉽게 함
  • 애플리케이션 침식에 탄력적
  • 병렬 개발 가능
  • 서비스별 개별 배포로, 지속적 배포와 전개 가능
  • 서비스의 교체 용이
  • 특정 서비스에 대한 확장성 용이
    • 클라우드 사용에 적합한 아키텍처
  • 부분적 장애 처리 용이

단점

  • 통신의 장애와 서버의 부하 등 고려 필요
  • 시스템 통신에 대한 고민 필요
  • 통합 테스트의 불편함
  • 성능 - 통신 비용이나 Latency 증가 (api 통신으로 인함)

참고자료 : https://ko.wikipedia.org/wiki/마이크로서비스, https://wooaoe.tistory.com/57, http://clipsoft.co.kr/wp/blog/마이크로서비스-아키텍처msa-개념/, https://velog.io/@tedigom/MSA-제대로-이해하기-1-MSA의-기본-개념-3sk28yrv0e