091
CQRS & EDA 본문
1. CQRS와 EDA
- CQRS(Command Query Responsibility Segregation)는 데이터 상태를 바꾸는 명령Command)과 데이터의 상태를 변화시키지 않는 읽기(Query)를 완전히 분리하는 아키텍처 패턴입니다. 로직분리, DB 분리, 이종 DB 사용 등의 다양한 방법으로 구현할 수 있습니다.
-> 이때 이중 DB를 사용할 때, 명령을 하고 난 뒤에 읽기 전용 조회DB에는 그 데이터를 언제 어떻게 업데이트 할지가 어렵기 때문입니다.
- EDA(Event-Driven Architecture)는 시스템 컴포넌트들이 이벤트를 통해 느슨하게 결합되는 패턴으로, 생산자는 이벤트를 발행만 하고 소비자는 이벤트를 구독합니다. 이 때 특징은 생산자가 소비자를 전혀 모르기 때문에 기존 코드를 수정할 필요가 없습니다.
-> EDA는 Event Producer, Message Broker, Event Consumer으로 구성되어있습니다.
Q. MSA와 EDA의 차이점?
A. MSA는 서비스를 쪼개서 UserService, OrderService 등의 서비스를 독립 배포하는 것입니다. 이 때 서비스 통신이 필요해지고, 네트워크 비용이나 복잡도가 증가합니다. 이 때 이 과정을 이벤트 처리해서 서비스 간 호출없이 비동기로 연결한게 EDA입니다.
'Computer Science' 카테고리의 다른 글
| 실시간 통신: Polling, Long Polling, SSE, WebSocket (0) | 2026.03.22 |
|---|---|
| HTTP 상태 코드(Status Code) (0) | 2026.03.22 |
| DLL(동적 라이브러리)와 SLL(정적 라이브러리) (0) | 2025.09.16 |
