728x90
반응형
SMALL
CQRS 란!
Command and Query Responsibility Segregation 의 약자로, 데이터 저장소로부터의 읽기와 업데이트 작업을 분리하는 패턴을 말합니다. CQRS 패턴을 통해 만들어진 시스탬의 유연성을 바탕으로, 시간이 지나면서 지속적으로 시스템을 발전시켜 나갈 수 있고 여러 요청으로부터 들어온 복수의 업데이트 명령들에 대한 충돌도 방지할 수 있습니다.
(우리가 보통 이야기하는 CRUD(Create, Read, Update, Delete)에서CUD(Command)와 R(Query)을 구분하자는 이야기)
왜 구분하나요?
구분하는 이유는, Database로부터 데이터를 읽어오고 처리를 하게 되면 이미 그 사이에 데이터가 변경되어있을 가능성이 있습니다. CQRS는 이런 변경 가능성을 인정하고 어짜피 Read와 CUD 사이에는 Delay가 존재할 수 있음을 인정하는 것입니다. 이를 통해서 R과 CUD를 구분함으로써 얻는 이점을 설명하는 것이 CQRS 패턴입니다.

Event Sourcing CQRS Flow
① Admin 으로부터 Command 요청이 들어온다.
② 요청은 Application 을 통하여 Command Store 에 Command가 발생한다.
③ Command Store 에 이벤트가 처리된 후 Event Bus로 결과가 전달된다.
출처
bluayer:티스토리 - https://bluayer.com/37
임민석의 블로그 - https://mslim8803.tistory.com/73
728x90
반응형
LIST
'개발지식 > Backend Engineering' 카테고리의 다른 글
| JWT 란?! (2) | 2024.03.09 |
|---|---|
| 레디스(Redis)란 무엇인가?! (4) | 2024.03.04 |
| [Apache Kafka] 카프카(Kafka) 맛보기! (4) | 2024.02.29 |
| MSA(MicroService Architecture) 란 무엇일까?! (4) | 2024.02.28 |
| MVC(Model-View-Controller) 패턴의 정의와 처리과정! (2) | 2024.02.27 |