bong-u/til

쿠버네티스 및 MSA 특강 4일차 : MSA란 무엇인가

수정일 : 2023-02-23

MSA란 무엇인가

마이크로서비스 개념

  • 마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로
  • 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법이다
  • 마이크로서비스 아키텍처에서 서비스들은 섬세(fine-grained)하고 프로토콜은 가벼운 편이다.

마이크로서비스 특징

  1. 자율성 : 각 구성 요소 서비스는 다른 서비스의 기능에 영향을 주지 않으면서 개발, 배포, 운영하고 확장 가능
  2. 전문성 : 각 서비스는 일련의 기능을 위해 설계되며 특정 문제를 해결하는 데 중점을 둔다

마이크로서비스의 기술적 특징

  • 각각의 서비스는 그 크기가 작을 뿐, 서비스 자체는 하나의 모노리식 아키텍처와 유사한 구조를 갖는다
  • 각각의 서비스는 독립적으로 배포가 가능해야 한다
  • 각각의 서비스는 다른 서비스에 대한 의존성이 작아야 한다
  • 각 서비스는 개별 프로세스로 구동되며, REST API와 같은 가벼운 방식으로 통신되어야 한다

마이크로서비스 이점

  • 민첩성 : 소규모 컨텍스트 내에서 활동하며 더 독립적이면서 신속하게 업무를 수행할 수 있다
  • 유연한 확장성 : 서비스가 지원하는 애플리케이션을 기능의 수요를 충족하도록 해당 서비스를 독립적으로 확장할 수 있다
  • 손쉬운 배포

마이크로서비스를 위한 조건

  1. 비용
  2. 개발 생산성
  3. 운영 인프라
  4. 배포 주기