CQRS 패턴 - 용어
- Command
- 데이터의 결과를 위해 수행하는 작업
- 새로운 레코드를 삽입하거나 기존 레코드를 업데이트 또는 삭제하는 작업
- 예:
- 사용자 추가
- 리뷰 수정
- 댓글 삭제
- Query
- 오직 데이터를 읽어서 호출자에게 반환
- 예:
- 카테고리의 모든 상품 조회
CQRS 패턴
- CQRS에서는 명령파트와 쿼리파트를 완전히 분리한다.
- 비즈니스 로직, 입력 값 검증, 권한체크 등은 복잡한 작업은 Command 서비스에서 수행한다.
- 각 파트는 개별 프로그래밍 언어의 데이터 모델을 사용해 독립적으로 발전해갈 수 있게 된다.
CQRS 장점
- 두 가지 작업 유형으로 시스템을 최적화할 수 있다.
- 특히 읽기와 쓰기 작업이 빈번하다면
- 고확장성
CQRS - 동기화
CQRS - 단점
- Command와 Query 데이터베이스 간의 최종적 일관성(Eventually Consistency)만 보장할 수 있다.
- 어느 정도 오버헤드와 복잡성
참고
반응형