CQRS(3)
-
CQRS
보통 데이터를 조회 시에 여러 에그리거트에서 데이터를 가져와야 한다. 여러 애그리거트의 데이터가 필요하면 다양한 방안의 구현 방법을 고민해야 하는데, 식별자를 이용해서 애그리거트를 참조하는 방식을 사용하면 즉시 로딩과 같은 JPA 쿼리 관련 최적화 기능을 사용할 수 없다. 직접 참조하는 방식을 사용한다 하더라도, 같은 연관도 즉시/지연 로딩 등 다양한 방법으로 처리애햐 하고, DBMS가 제공하는 전용 기능이 필요하면 네이티브 쿼리를 사용해야 할 수도 있다. ORM 기법은 도메인 상태 변경 기능을 구현하는 데는 적합하지만, 데이터를 가져와 출력하는 기능울 구현하기에는 고려할게 많아서 구현을 복잡하게 한다. 상태 변경을 위한 모델과 조회를 위한 모델을 분리하면 위 문제를 해결할 수 있다. # CQRS 시스템..
2023.09.21 -
2장 : MSA의 이해
## 리액티브 선언 응답성 : 사용자에게 신뢰성 있는 응답을 빠르고 적절하게 제공 탄력성 : 장애가 발생하거나 부분적으로 고장나더라도 시스템 전체가 고장나지 않고 빠르게 복구 유연성 : 시스템의 사용량에 변화가 있더라도 균일한 응답성을 제공, 시스템 사용량에 비례해서 자원을 늘리거나 줄이는 능력 메시지 기반 : 비동기 메시지를 전달을 통해 위치 투명성, 느슨한 결합, 논블로킹 통신을 지향 4가지 요소는 상호 보완적, 급변하는 상황에 적응할 수 있는 시스템을 요구하는 것 아키텍처 유연성 : 시스템을 구성하는 구성요소 간의 관계들이 느슨하게 맺어져 있어 언제든지 대체되거나 추가 확장될 수 있는 특성 ## 강 결합에서 느슨한 결합으로의 변화 특정 벤더 중심 아키텍처는 검증된 유명 제품군을 통해 품질이 보장되나..
2023.05.18 -
[도메인 주도 개발 시작하기 - 최범균 저] 한 장 요약
도메일 모델 시작하기 도메인에 따라 용어의 의미가 결정 여러 하위 도메인을 하나의 다이어그램에 모델링 하면 안 됨 각 하위 도메인마다 별도 모델을 만들어야 아키텍처 구성 표현 영역 : 사용자 요청 처리/사용자에게 정보 제공 HTTP 요청을 응용영역이 필요로 하는 형식으로 변환헤서 전달 응용 영역 : 사용자가 요청한 기능 실행 : 업무 로직을 직접 구현하지 않음 응용 서비스를 로직을 직접 수행하지 않고, 도메인 모델에 로직 수행을 위임 도메인 영역 : 시스템이 제공할 도메인 규칙 구현 도메인 핵심 로직 구현 인프라스트럭처 영역 : DB나 메시징 시스템 같은 외부 시스템 연동 처리 상위 계층에서 하위 계층으로의 의존만 존재 DIP 적용시 하위 기능을 추상화한 인터페이스는 고수준 모듈 관점에서 도출 도메인 영..
2023.01.13