inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Microservice 구현 (with EDA,Hexagonal, DDD)

EDA 이해

480

백린이

작성한 질문수 38

0

EDA가 결국 이벤트를 기반으로 비즈니스적으로 응집력 있게 관리되어야 하는 데이터들을 어떻게 핸들링할 것인가 인것 같은데, 제가 맞게 이해한 걸까요? 이를 위해서는 결국 도메인 중심적으로 생각하는게 좋구요!

EDA msa ddd

답변 1

1

han jeong heon

아 네

아마도 강의에서 도메인 주도 설계 를 기반한 EDA를 구현을 해서 그렇게 느끼신 것 같습니다.

그러나 EDA 라는 개념은 물론 도메인주도설계와 궁합이 잘 맞지만 반드시 DDD기반일 필요는 없습니다.

도메인 상태의 변화를 기반으로 한 즉 이벤트를 비동기 통신을 통해 전달함으로써 어플리케이션간의 결함도를 낮추는 아키텍처가 EDA인 것이고 그 어플리케이션형태는 규정되지 않습니다.(모노리스가 되도 되고 마이크로서비스가 되도 되고요.)

다만 MSA를 언급할때 EDA라는 아키텍처가 마이크로서비스간의 의존성을 낮추기 위한 용도로 궁합이 잘 맞는다고 생각하시면 될 듯합니다.

1

백린이

아하! 그럼, EDA를 강의처럼 kafka가 아니더라도, AWS SQS, rabbitmq 등 다양한 솔루션을 사용할 수 있는건가요? 대규모 시스템이라면 kafka가 좋을 수도 있겠지만ㅎㅎ

0

han jeong heon

아 네 그럼요 ^ ^

0

백린이

빠르게 답변주셔서 감사합니다!ㅎㅎ
한가지 더 궁금한 점이 있는데, usercase 별로 인터페이스를 만드셨는데, 혹시 1개의 인터페이스에 여러 메서드를 통해서도 만들 수 있는데, usercase 별로 인터페이스를 만드신 이유에 대해서 여쭤봐도 괜찮을까요?

1

han jeong heon

네 말씀하신데로 하나의 인터페이스로 작성해도 기능상 문제는 없습니다.

즉 이러한 방식은 관리나 유지보수 차원의 선택인데요.

로버트 마틴이 언급한 ‘ 소리치는 아키텍처’ 라는 개념이 있는데요. (코드의 명칭을 통해 그 의도롤 소리치게 하자.) 즉 클래스 명만 보고 어떠한 유스케이스인지 쉽게 인지 가능함으로 유지보수성 높일 수 있다는 의미죠.

따라서 이 부분은 유지보수하는 팀원 수라던지 상황에 따라 다를 수 있는 선택의 문제입니다.

감사합니다.

0

백린이

아하! 지금 생각해보니, 어떻게보면, usercase 별로 인터페이스를 만들어두면, github으로 협업할 때, 팀원들끼리 충돌 발생이 적겠네요?ㅎㅎ

유저 이미지 등록 에러

0

7

1

service-discovery 프로세스 가동 이유

0

17

1

안녕하세요 한번 더 문의드립니다.

0

48

4

보상트랜잭션 실패시 데이터베이스 저장하는데 그것조차 실패하면 어떻게 하나요??

0

34

2

코드 자료는 없는걸까요?

0

65

3

헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.

0

62

2

DLQ의 수동 커밋에 대해서 질문있습니다.

0

50

2

Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?

0

69

2

강의보다 바로 여쭤봅니다.

0

108

2

Aggregate 하위에 꼬리를 무는 Entity 는?

0

163

2

헥사곤 아키텍쳐 관련하여 문의드립니다.

2

195

2

VO 클래스의 불변 필드 선언을 하지 않으신 이유?

0

244

2

RentalCard 의 calculateLateFee 메서드 구현이 잘못된 것 같습니다.

1

188

2

UserCase가 많은데... 이유?

0

531

1

음성 부분이 너무 깨지는데...

0

373

1

CQRS 질문 드립니다.

0

380

1

강의 음성 및 영상

0

365

1

domain.model.event에 정의되는 객체들에 대한 질문이 있습니다

0

387

1

수업에 사용한 소스코드 문의

0

620

1

보상트랜잭션 후 클라이언트 알림 방법 등

0

384

1

MSA 구조에서 공통 클래스

0

924

2

@Repository 두 곳에서 사용하시는 이유

0

475

1

Entity와 VO에 대해..

0

786

1

DTO 클래스의 위치에 대해 질문있습니다!

1

776

1