컬리 기술 블로그 · 2021. 05. 11.
DDD와 MSA 기반으로 좋은 서비스 개발하기
AI 엔지니어링 브리핑
DDD와 MSA에서는 비즈니스 영역을 올바르게 나누고, 영역 안은 긴밀하게 묶되 영역끼리는 독립적으로 연결하는 설계가 좋은 서비스의 출발점입니다.
문제 & 배경
- 문제 & 배경: 도메인을 잘못 나누면 서로 분리해야 할 기능이 지나치게 얽히거나 함께 묶어야 할 기능이 떨어져 예기치 않은 복잡성과 시스템 문제를 만들 수 있습니다.
기술 & 해결책
- 기술 & 해결책: DDD로 비즈니스 영역을 적절히 나눈 뒤, 같은 도메인 안의 마이크로서비스는 API 동기 호출이나 공통 데이터베이스처럼 가깝게 연결하고, 다른 도메인과는 데이터베이스를 분리한 비동기 메시지 방식으로 독립성을 확보합니다.
교훈 & 주의점
- 교훈 & 주의점: 올바른 경계는 변경 범위를 줄이고 서비스를 독립적으로 배포하며 기술 선택의 자유를 주지만, 기술을 지나치게 다양하게 사용하면 복잡성이 커지므로 조직의 역량과 도메인 간 연결 방식을 함께 고려해야 합니다.
함께 읽을 글
내용이 비슷해요내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.