ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이벤트 소싱과 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
Designed by Tistory.