Aggregate / Write Model
규칙을 통과한 상태
사용자 생성처럼 검증을 통과한 변경만 저장하고 이벤트를 남긴다.
CreateUserCommand 처리
CommandHandler는 트랜잭션을 끝낸 뒤 이벤트를 발행하고, EventHandler는 화면 조회에 맞는 projection을 갱신한다.
Aggregate / Write Model
사용자 생성처럼 검증을 통과한 변경만 저장하고 이벤트를 남긴다.
CreateUserCommand 처리
EventBus / EventHandler
UserCreatedEvent를 받아 검색 색인, 통계, 캐시처럼 읽기 모델을 갱신한다.
Projection / Read Model
목록, 상세, 검색 화면에서 바로 읽을 수 있는 형태로 저장한다.
생성한 기록쓰기 직후 조회가 늦게 보일 수 있음을 UX 문구와 재시도 정책에 둔다.
재계산 기준이벤트 핸들러는 중복 실행되어도 같은 결과가 나오도록 설계한다.
결과 기준이벤트 발행, 처리 시간, projection 갱신 실패를 추적한다.