-
이벤트 소싱과 CQRS연습장 2024. 8. 17. 18:16
데이터의 일관성을 보장하는 방법
1. 분산 트랜잭션
2. 이벤트 소싱
3. CQRS(Command Query Responsibility Segregation)
정의: 데이터의 상태 변화를 이벤트로 기록하고, 해당 이벤트들을 순차적으로 재생하여 현재 상태를 파악하는 방법
데이터의 변경 자체가 아닌, 변경 이벤트를 저장...!
주요 개념:
- 이벤트
- 이벤트 스토어
- 애그리게이트
- 커맨드
- 프로젝션
CQRS -> 읽기 전용 데이터베이스와의 차이점은????
정의: 명령(Query)와 조회(Query)의 책임을 분리하는 소프트웨어 디자인 패턴
주요 개념:
- 명령
- 조회
CQRS는 이벤트 소싱과 잘 어울림..
read DB 쪽에는 현재 상태만 저장
발생한 이벤트의 상태들은 write DB 쪽에 저장
즉, 쓰기 쪽에서는 이벤트의 전체 상태, 읽기 쪽에서는 현재 상태만 저장해서 이벤트 소싱 데이터를 처리할 수 있음
'연습장' 카테고리의 다른 글
RabbitMQ (0) 2024.08.19 모니터링과 로깅, 테스트와 배포 (0) 2024.08.17 데이터 일관성 유지 (0) 2024.08.17 대규모 스트림 처리 (0) 2024.08.17 GitLab을 이용해서CI/CD (0) 2024.08.16