109
2
장
마이크로서비스 모델링 방법
기본적으로
DDD
는 비즈니스 도메인을 우리가 구축하는 소프트트웨어의 중심에 둔다. 비즈
니스 언어를 코드와 서비스 설계에 끌어오도록 하면 소프트웨어를 구축하는 사람들 간에 도메
인 전문성이 향상된다. 게다가 소프트웨어 사용자에 대한 이해와 공감대를 형성하고 기술 제
공, 제품 개발, 사용자 사이에서 의사소통도 증대된다. 스트림 정렬 팀으로 전환하는 데 관심이
있다면,
DDD
는 기술 아키텍처를 더 큰 조직 구조와 정렬하는 메커니즘으로서 매우 적합하다.
IT
와 ‘비즈니스’ 사이의 사일로를 허물고자 점점 더 노력하는 세상에서
DDD
는 나쁠 게 없는
일이다.
2.62.6
비즈니스 도메인 경계에 대한 대안 비즈니스 도메인 경계에 대한 대안
앞서 설명했듯이
DDD
는 마이크로서비스 아키텍처를 구축할 때 매우 유용하다. 하지만
DDD
를 마이크로서비스 경계를 찾을 때 고려해야 할 유일한 기술이라 속단하는 것은 금물이다. 실
제로는 시스템 분해 방법(그리고 분할 여부)을 찾으려고
DDD
와 함께 여러 방법을 사용하는
경우가 많다. 그럼 경계를 찾을 때 고려할 수 있는 다른 요소를 살펴보자.
2.6.12.6.1
변동성 변동성
필자는 종종 변동성
volatility
이 분해의 주요 요인이라고 믿는 옹호자들을 통해 도메인 기반 분해
에 대한 반발을 많이 들었다. 변동성에 기반을 둔 분해를 하면, 시스템에서 더 빈번하게 변경되
는 부분을 식별한 다음 해당 기능을 자체 서비스로 추출해 더 효과적으로 작업 가능하다. 개념
적으로는 문제없지만, ...