본문 바로가기

개인공부/DDD

DDD 공부 : 마이크로서비스

반응형

마이크로서비스는 모노리스 시스템과 많이 비교된다.

옛날 방식이아닌 다른방식이라 생각하면 좀더 편할것 같다.

 

모노리스 시스템

- 애플리케이션이 한 덩어리로 구성

- 단일 프로세스 실행

- 한꺼번에 수정, 배포되어야 함

- 하나가 실패하면 모두 실패됨을 의미

 

 

당연한 이야기이지만 이러한 구조는 스케일 아웃을 하고싶어도 전체를 확장해야하는 이슈가 따른다.

예를들어 많은 기능중에 구매에대한 기능이 스케일아웃이 필요하다해도 모든 기능들에 대해서 확장을 해야한다.

(효율적이지 못하다, 돈만 많으면 상관없다.)

 

마이크로서비스

- 서비스는 각기 독립적인 기능을 제공

- 서비스가 사용하는 저장소는 다른 서비스와 완벽히 격리됨

- 따라서 독립적으로 수정 가능하며 별도 배포 ,확장 가능

- 하나의 서비스 실패는 전체 실패가 아닌 부분적인 실패를 의미

 

 

MSA vs SOA 

 

이거 두개는 무엇이다를까? SOA의 범주가 MSA라고 생각하면 쉽다.

다만 MSA라고 틀린것은 SOA는 데이터베이스를 격리하지 않음.

SOA는 하나의 서비스에 대한 재사용성을 강조했다.

MSA는 SOA의 문제점들을 극복한거라고 생각하면 될것같다.

반응형