본문 바로가기
CS (컴퓨터공학)

[개발서적 추천] 도메인 주도 설계로 시작하는 마이크로서비스 개발

by newstellar 2023. 10. 13.
반응형

 

"도메인 주도 설계로 시작하는 마이크로서비스 개발"이라는 책에 대한 내용을 바탕으로 작성되었습니다. 이 도서는 개발 백과사전 추천 도서 3으로, 제품 중심의 개발/피드백으로 스프린트를 구성하고 MSA 체제를 만드는 방법에 대해 다루고 있습니다.

 

1. 개발 생명주기는 프로젝트 단위가 아닌 제품 중심

Agile 방법론은 Waterfall 방식에 비해 개발 생산성을 해칠 수도 있지만 산출물을 프로젝트 단위가 아니라 제품 단위로 쪼개는 것은 분명히 효과가 있다. 이 방식을 채택함으로써 제품 중심의 개발과 피드백을 통해 스프린트를 구성하여 MSA 체제를 만드는 것이 가능하다.

 

2. 유연성과 장애복구를 위한 API Gateway 패턴

API Gateway 패턴은 App, Web 등 여러 클라이언트가 MSA의 서비스에 접근하기 위한 단일 진입점 패턴이다. 이 패턴은 하드웨어 구현 방식(L4) 대신 소프트웨어로 이를 구현하여 로드 밸런싱, 인증/인가, 로깅/메트릭, 장애 격리를 위한 Circuit Breaking이 가능하다.

 

3. 도메인 내부에는 응집성, 외부로는 낮은 의존성

비즈니스 도메인을 잘 분리하는 것이 중요하다. 도메인간의 경계를 바운디드 컨텍스트라고 하는데, 각 컨텍스트 내부의 응집성을 높이되, 다른 컨텍스트와는 의존관계가 낮도록 설계하는 것을 컨텍스트 매핑이라고 한다.

 

4. 행위 가치보다 구조 가치를 추구하는 클린 아키텍쳐

소프트웨어의 유연성은 외부 아키텍쳐(Container화, Kubernetes 배포) 도입으로도 가능하지만 궁극적으로는 시스템의 내부가 유연해야 한다. 비즈니스 도메인이 느슨하게 구성되어야 서비스의 독립적인 확장과 변경이 가능하다.

 

 

반응형

댓글