Bounded Context 와 Aggregate 질문있습니다
질문 드립니다!
질문1)
강의내용을 생각해보면
Bounded Context 단위도 하나의 서버가 될 수 있고
Aggregate 단위도 하나의 서버가 될 수 있는 것으로 보이는데
제가 이해한게 맞을까요?
질문2)
또한 Aggregate 와 마찬가지로 Bounded Context 도 다른 도메인으로의 요청은 Event 사용을 해야하는 걸까요?
질문3)
주문 Entity - 주문 아이템 Entity 관계가 Aggregate 로 연상됩니다... Bounded Context 개념이 적용된 코드가 Aggregate 쪽 코드와 다를까요?
답변 1
1
질문1)
강의내용을 생각해보면
Bounded Context 단위도 하나의 서버가 될 수 있고
Aggregate 단위도 하나의 서버가 될 수 있는 것으로 보이는데
제가 이해한게 맞을까요?
네 정확합니다.
질문2)
또한 Aggregate 와 마찬가지로 Bounded Context 도 다른 도메인으로의 요청은 Event 사용을 해야하는 걸까요?
아닙니다. 강의에선 비동기 방법에 대해서만 보여드렸는데, 동기/비동기에 따라서 방법이 달라집니다.
일반적으로 비동기로 다른 bounded context 간 통신을 하게 된다면 메시지큐에 이벤트를 넣어서 처리합니다.
동기로 처리한다면 REST API, GraphQL, gRPC 등 Bounded context 간 통신을 통해 요청을 합니다. 그런데 이것은 서로 다른 Bounded context가 각각의 서버에 배포되었을 경우이고 (그래서 총 2개의 서버) 만약에 2개의 bounded context가 하나의 서버에 배포가 되었다면 Repository를 사용해서 다른 bounded context의 정보를 가져올 수 있을 것입니다.
질문3)
주문 Entity - 주문 아이템 Entity 관계가 Aggregate 로 연상됩니다.
맞습니다
Bounded Context 개념이 적용된 코드가 Aggregate 쪽 코드와 다를까요?
Aggregate는 강의에서 Aggregate Root라는 구체적인 클래스로 현실 세계의 사물에 대한 것을 구현을 했습니다. 그런데 Bounded Context는 Aggregate에 반해서 추상적인 개념입니다. 그래서 Aggregate 처럼 class로 구체화되는 것이 아니라 강의에서처럼 영역을 그림으로 그려놓고 마이크로서비스 아키텍쳐를 사용한다면 서버를 분리한다든가 하는 것입니다.
한가지 예시를 더 들어서 설명을 드리겠습니다.
배달의 민족 서비스를 생각해보면, 그 시스템에 참여하는 사람의 종류는 세가지입니다. 음식점 사장, 배달시킨 사람, 배달원. 그런데 각각 참여자들의 머리 속엔 고객에 대한 추상화가 다르게 되어있을 것입니다.
음식점 사장님 머리 속에는 음식을 맛있게 만들어 드려야 하는 대상, 배달원 머리 속에는 사는 곳에 정확하게 배달해야 하는 대상. 그래서 같은 대상을 지칭하더라도 각자의 bounded context에서 회원은 Class가 다르게 구현이 되어있을 것입니다.
설명이 잘 되었는지 모르겠네요 🤔 질문이 있으시면 언제든 환영입니다 :)
6장 ORM 에 관하여 질문
0
28
1
git 초기설정하고 Next Js 설치하는게 너무 어렵습니다.
0
26
1
헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.
0
55
2
Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?
0
66
2
강의 목표
0
37
1
강의 노트 위주로 학습
0
41
1
프로덕션 부분 사용 불가
0
61
2
in-app purchasing 버튼의 install 버튼이 비활성화되어있을때 어떻게 해결해야하나요 ?
0
48
2
마감 인 경우.
0
58
1
5장부터는 미션 상세 내용이 없는데 어떻게 작성해야되나요?
0
54
1
MSA 와 BFF 아키텍처 설명 부분에 대한 문의
0
55
1
유니티 제외 설치한 프로그램들 및 파일 삭제 방법
0
47
1
깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.
0
64
2
eslint.config.js 설정 질문입니다.
0
65
2
로그인 기능 구현 (Application Layer 실습) 에서의 질문
1
182
2
바로 실무에 적용할 수 있는 내용일까요?
1
387
1
몇가지 질문
2
412
3
다음 강의는 언제 나오나요?
1
374
1
brand와 product
1
273
1
성능상의 불이익
1
327
1
소스코드
0
430
2
review write관련
1
298
1
value object 관련
1
325
1
phone.create함수 파라메터 관련
1
269
1





