CQRS

읽기와 쓰기를 같은 모델에 묶지 않는다

Command는 상태 변경에, Query는 읽기 응답에 집중시켜 성능과 복잡도를 별도로 다룬다.

Command side

생성, 수정, 삭제처럼 상태를 바꾸는 요청을 비즈니스 규칙 중심으로 처리한다.

CommandBus CommandHandler Write Model

Query side

조회 화면에 필요한 형태로 데이터를 빠르게 읽고 반환하는 데 집중한다.

QueryBus QueryHandler Read Model

EventBus / Saga는 두 모델 사이의 변화 흐름을 연결한다. 대신 동기화 지연과 복잡성은 설계 비용으로 남는다.