f-lab-edu / ticket-seller

1 stars 1 forks source link

대기서버 CQRS 적용 전 CQRS에 대한 간단한 정리 #11

Closed jaejeong1 closed 1 year ago

jaejeong1 commented 1 year ago

CQRS : Command Query Responsibility Segregation

명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회) 역할을 수행하는 구성 요소를 나누는 것.

명령

쿼리

책임

분리

CQRS가 필요한 경우

명령과 조회에 단일 모델을 사용하면?

단점

단점이 발생하는 이유

구현 형태 예시

1. 같은 프로세스, 같은 DB

2. 같은 프로세스, 같은 DB, 다른 테이블

3. 같은 프로세스, 다른 DB

4. 다른 프로세스, 다른 DB

다른 DB로 변경 전파

1. 명령이 직접 쿼리 DB를 수정하는 방식

2. 변경 내역을 기록하고, 별도 전파기를 이용해서 내역을 전달하는 방식

3. DB가 제공하는 CDC 이용

다른 DB 사용 시 주의 사항

- 데이터 유실

- 허용 가능 지연 시간

- 중복 전달

출처 : https://martinfowler.com/bliki/CQRS.html https://www.youtube.com/watch?v=H1IF3BUeFb8 https://www.youtube.com/watch?v=xf0kXMTFJm8