본문 바로가기
MSA해설/MSA 관련 개념

MSA 정의

by kooangelo 2022. 6. 19.

https://martinfowler.com/articles/microservices.html

 

Microservices

Defining the microservices architectural style by describing their nine common characteristics

martinfowler.com

위의 내용 중 발췌 + 첨언

 


The microservice architectural style
MSA는 여러 아키텍처 스타일중 하나

is an approach to developing a single application as a suite of small services, 
여러 (작은) 서비스들로 구성


each running in its own process 
각 서비스들은 독립적으로 작동

and communicating with lightweight mechanisms, often an HTTP resource API. 
서비스들은 가벼운 방식으로 통신

These services are built around business capabilities 
서비스들은 Biz Capa 기준/관점으로 만들어짐(식별됨)
Biz Capa : Loosely Coupled Highly Cohesive, Single Responsibility, 업무 관점, 프로세스 관점

이 외에도 Data Ownership, Fault Isolation, Scalability 등의 기준으로 종합적 판단 필요

and independently deployable by fully automated deployment machinery. 
독립적으로 배포
 -> 서비스별로 독립적 배포가 가능해야함
 -> 예를들어 AP 또는 DB 등의 결합으로 인해 독립적 배포가 힘들다면?
완전 자동 배포 방식으로 (수동이 아닌 테스트 자동화)

There is a bare minimum of centralized management of these services, 

which may be written in different programming languages and use different data storage technologies.
개발언어 또는 데이터 저장소 기술을 달리 사용 가능 -> Polyglot