본문 바로가기
일지 🧾/🏃‍♂️ 나의 성장 일지

[감상문] <도메인 주도 설계로 시작하는 마이크로 서비스 개발> 을 읽고

by GroovyArea 2022. 12. 9.

도메인 주도 설계 철저 입문과 같이 구매한 책이다.

DDD 와 MSA 라니 제목이 매우 흥미로웠고, 분산 환경에서 정석적인 아키텍처 설계 및 코드 작성법을 배우고 싶었기 때문에 읽게 되었다.

 

첫 장은 아마존의 비즈니스 민첩성의 비밀 내용을 설명하며 아마존 만의 빠른 배포 속도의 노하우와,

현재 가장 대중화된 인프라인 클라우드 서비스 내에서 어울리는 애플리케이션의 조건을 설명한다.

그리고 자연스럽게 마이크로 서비스의 소개로 이어진다.

 

마이크로 서비스 아키텍처는 기존 모노리스 아키텍처와 다르게 설계에 각별히 신경을 써야 한다.

상대적으로 유지보수를 더 쉽게 할 수 있는 구조이지만, 데이터 정합성 문제가 가장 큰 이슈이기 때문이다.

그를 보완하기 위한 수많은 패턴들을 소개했다.

 

애플리케이션 레벨에서도 정합성을 맞추기 위한 여러가지 패턴들을 배웠다.

이 역시 긴가민가하며 구글에서 얻은 지식들을 정리해가며 읽으니 훨씬 이해가 수월했고, 그렇기에 흥미롭게 읽혔다.

 

본격적으로 애플리케이션 아키텍처 얘기가 나왔다.

레이어드, 헥사고날, 클린 아키텍처 모두 공부했었기에 수월하게 이해가 되었다.

 

마이크로 서비스 설계 부분에서 가장 흥미로웠던 부분은 [이벤트 스토밍] 부분이었는데. 도메인 주도 설계에서 가장 중요한 도메인을 설계하는 부분에서의 준비 작업은 상당히 중요하다는 점을 배우게 되었다.

 

이어서 도메인 모델링, 아키텍처 구성, 마이크로 서비스 구현 부분을 읽으며 코드를 보면서 큰 흐름을 파악했다. 내가 그동안 배웠고 사용하던 코드 구성들을 떠올리고 비교하며 코드 작성의 대략적인 플로우를 따라가려 노력했다.

디테일한 부분도 눈에 들어왔지만, 조금 더 도메인에 집중된 설계 방식을 조금이나마 이해한 책이었다.

 

배포 부분은 도커와 쿠버네티스를 이용해 설명을 하는데, 이 부분은 내가 아직 많이 부족한 부분이므로 좀 더 공부를 하고 이해를 해야할 부분이라고 생각했다.

 

 

 

올해 중순까지만 해도 MSA에 유독 집착을 했던 시기가 있었다.

기본 앱을 구현한 적도 없었는데, 오로지 트렌드에만 신경을 썼었다.

그렇게 만들어진 프로젝트 결과가 맘에 들지 않았던 경험이 있다.

 

그 이후로 다시 리팩토링을 시작하며 장장 8개월 정도가 되어간다.

객체지향을 다시 공부하고 레이어드를 다시 보며 깔끔하게 리팩토링을 해나갔다.

그리고 최근에 공부한 클린 아키텍처, DDD, 그리고 이 책을 토대로 곁들여 MSA 설계는 아니지만

도메인 별 패키지 구성과 도메인 컨텍스트 패키지 간의 의존성을 줄이고 Event Publisher를 통해 해결했다. (미니 카프카..ㅎㅎ)

확실히 직접 적용해보니까 더 감이 오는 느낌이 있다.

 

앞으로 더 다양한 책을 통해 다양한 설계, 프로그래밍 기법들을 배우고 싶은 욕심이 생겼다.

 

 

 

 

 

반응형