HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
DDD
DDD
/
👨
M Yauri at-Tamimi
/
DDD Part IV, DDD and Microservices

DDD Part IV, DDD and Microservices

 
드디어 네번째 장이다!

Microservices Architecture

  • 작고, 재사용성있고, 확장성 있는 서비스를 개발하는 것을 목표로하는 아키텍쳐 패턴임
  • Microservice는 큰 시스템을 각각의 독립적이면서 협력하는 서비스로 쪼갤 수 있게함
  • 이를 통해 관리하기 어려움 커다란 Monolithic한 애플리케이션 지옥에서 탈출 할 수 있음
  • polyglot devices such as wearables, Internet of Things (IoT), mobile, desktop, and web 의 개발에 매우 유용하다.
 
 

마이크로서비스 아키텍처의 키포인트

  1. 기술 스택, 프레임워크, 언어에 독립적으로 배포 할 수 있다.
  1. Domain-Driven Service, 즉 하나만 잘하면 되는 작은 서비스의 배포에 집중할 수 있다.
  1. 잘 정의된 인터페이스와 최소한의 기능
  1. 연쇄적인 에러와 동기적 호출을 하지 않는다. - Failure에 대한 reactive design
  1. 모든 서비스는 자신의 데이터를 가지고 다른 서비스와 커뮤니케이션 하는데 Event/Messages를 활용한다.
  1. 모든 서비스는 다른 서비스에 독립적이고 (보통 컨테이너 단위) automatic하게 확장할 수 있다.
 

마이크로서비스의 장점

  1. 개별 컴포넌트의 확장성 👍
  1. 배포가 쉽다.
  1. 유지보수가 쉽다.
 

마이크로서비스를 고려할때 유의해야할 점

  1. 분산 서비스간의 consistency를 유지하는 것이 어렵다.
  1. Monolithic 구조보다 debug와 issue traking이 어렵다.
 

How Does DDD Relate to Microservices?

DDD의 철학은 Microservices와 찰떡궁합이다.