Monolithic, SOA, 그리고 MSA

2021. 5. 4. 11:11


[총괄 개념 정리] 

[세부 개념 정리]

[함께 알면 좋은 개념]


 

[SOA와 MSA의 개념 요약]

 

  Microservices Architecture (MSA) Service-Oriented Architecture (SOA)
Protocol 가벼운 프로토콜 사용 
(ex : HTTP, REST)
멀티 메세지 프로토콜 지원
Focus 탈동조화 = Decoupling
(작동에 있어서 서비스와 서비스의
상관관계를 최소화) 
어플리케이션 서비스의 재사용성
Approach 가능한 최소한으로 공유하는 아키텍쳐 접근법 가능한 최대한으로 공유하는 아키텍쳐 접근법
Fault Tolerance SOA보다 Fault에 관대함 MSA보다 Fault에 엄격함
DB 각각의 마이크로서비스는 독립적인 DB 보유 전통적인 관계형 DB 사용
Relational DB 현대적인 관계형 DB 사용 전통적인 관계형 DB 사용
(최근에는 현대적인 관계형 DB도 사용하는
복합적 추세)
Sharing 경계가 있는 컨텍스트(최소한의 의존성을 가진 단일 유닛으로서의 구성요소 및 데이터의 결합)를 통해 공유를 최소화 컴포넌트 공유를 향상
Suitable Service 보다 작은 단위로 세분화된 웹 기반 시스템에 적절  크고 복잡한 비즈니스 어플리케이션 환경에 적절

 

  • 관계도 (열 기준)
Architecture SOA MSA
API SOAP REST
Data Format (only) Xml HTML
XML
JSON (Most used)

 

위의 관계도를 이해하면 SOA와 MSA의 특징을 대략적으로 이해할 수 있다.

 

+ 추가 참고 사이트 : SOAP과 REST의 차이