728x90
반응형
목차
단일 모델의 단점
- 주문 내역 조회 기능 구현시 여러 애그리거트에서 데이터를 가져와야함
- 시스템 상태를 변경할 때와 조회할 때 단일 도메인 모델을 사용하면 고민해야할 부분이 생김
- 조회화면 특성상 즉시로딩이나 지연로딩으로 처리해야함
CQRS
- Command Query Responsibility Segregation
- 복잡한 도메인에 적합
- CQRS를 사용하면 각 모델에 맞는 구현 기술 선택 가능
- ex) 명령 모델 > 도메인 모델(JPA), 조회모델 > DB테이블에서 SQL 쿼리(마이바티스)
- 조회모델은 응용서비스가 존재하지 않음
- 컨트롤러에서 바로 DAO를 실행해도 무방함
- 명령모델은 트랜잭션을 지원하는 RDBMS, 조회모델은 성능이 좋은 메모리기반 NoSQL사용도 가능
- 서로 다른 데이터 저장소 사용시 데이터 동기화 시점에 따라 구현 방식이 달라짐(이벤트 사용해서 동기화)
CQRS 장단점
- 장점
- 명령모델 구현할 때 도메인 자체에 집중할 수 있음
- 조회 성능을 향상시키는데 유리함(조회단위로 캐시기술 적용 가능)
- 단점
- 구현해야할 코드가 많음
- 도메인이 단순하거나 트래픽이 많지 않으면 조회전용 모델을 따로 만들 때 얻을 이점을 따져봐야함
- 더 많은 구현 기술이 필요함
728x90
반응형
'책리뷰 > 도메인 주도 개발 시작하기(DDD핵심 개념 정리부터 구현까지)' 카테고리의 다른 글
도메인 주도 개발(DDD) 시작하기 이벤트 (0) | 2022.05.27 |
---|---|
도메인 주도 개발(DDD) 도메인 모델과 바운디드 컨텍스트 (0) | 2022.05.26 |
도메인 주도 개발(DDD) 애그리거트 트랜잭션 관리 (0) | 2022.05.24 |
도메인 주도 개발(DDD) 도메인 서비스 (0) | 2022.05.24 |
도메인 주도 개발 (DDD) 시작하기 응용서비스와 표현영역 (0) | 2022.05.19 |