마이크로 서비스와 도메인

싱클베어·2022년 2월 12일
0

마이크로서비스?

  • 소프트웨어가 잘 정의된 API(RESTful API, 메시징 등)를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식.

  • 각각의 서비스는 독립적이기 때문에, 비즈니스 별로 적합한 다른 개발 언어, 데이터베이스 등을 적은 비용으로 붙여서 테스트 해볼 수 있음

모놀리식 아키텍쳐 vs 마이크로서비스 아키텍쳐 비교

도메인이란?

  • 도메인이란 사용자가 프로그램을 사용하는 대상 분야로, 실제 세계에서 사용자가 프로그램을 사용하며 발생하는 사건의 집합이라고 할 수 있다.
  • 마이크로 서비스와 도메인의 내용을 검색했을 때 가장 많이 등장하는 것이 도메인 주도 설계
  • 도메인 주도 설계는, 도메인 전문가(실사용자, 현업 전문가)와 개발자가 도메인들을 추상화하여 모델링하고 서로 상호작용하며 설계하는 것.
  • 도메인이 복잡할 경우 도메인 모델과 소프트웨어 구현이 불일치 하는 경우가 있으므로, 최대한 단순화 시키는 작업이 필요

쇼핑몰 예시

  • 상품 구매자 : 상품을 주문하는 Order 도메인
  • 상품 판매자 : 상품을 관리하는 Manage 도메인
  • 쇼핑몰 관리자 : 건물에 대한 관리를 담당하는 Building 도메인

한줄 생각:

실전에서 잘 적용되면 참 좋겠다는 생각은 들지만, 이러한 방법론들이 결국 도메인 전문가들이 원하는 것을 잘 파악하는 게 역시 핵심아닐까 싶다. 본인들이 뭘 원하는지 모르기도 하고, 원하는 것이 있어도 구체화 시키는걸 매우 어려워하는 사람들도 많다.


참고 URL

Microservices Architecture의 소개(모놀리식 아키텍처vs 마이크로서비스 아키텍처)

DDD(Domain Driven Dvelopment)

처음 맡은 프로젝트 설계 : 어떻게 시작하지?

profile
안녕하세요.

0개의 댓글