TIL - MSA 환경에서, 엔티티가 필드로 관리해야할 범위

2026. 4. 8. 23:45·내배캠

엔티티가 필드로 관리해야 할 범위는 어디까지일까?

이벤트 주도 설계(EDD, Event-Driven Design)에서 이벤트를 발행할 때,
payload에 필요한 내용을 FeignClient로 가져왔으면 그 데이터를 꼭 엔티티의 필드로 관리해야 할까?
아니면 그냥 payload에만 넘겨줘도 될까?

주문 엔티티는 주문 관련 정보만 관리해야한다.

나는 "어떤 서버에서 이벤트를 발행한다면, 메시지 큐로 넘겨줄 payload에 들어갈 내용을
그 서버의 엔티티 객체에서도 필드로 관리해야한다"고 생각했었다.

왜냐면, "어떤 이벤트를 발행한다는 것은 그 도메인의 비즈니스 요구사항을 처리한다는 의미"이고
이는 곧 도메인의 책임으로 이어지기 때문에
자연스럽게 "payload의 데이터도 도메인 엔티티에서 관리해야한다"고 생각했던 것이다.

하지만 MSA 환경에서, FeignClient로 가져온 정보를 꼭 엔티티에 저장해야 하는 것은 아니다.
이벤트 발행이 목적이라면 payload에만 담아주고, 엔티티는 꼭 필요한 정보만 관리해야 한다.

만약, payload의 내용을 엔티티에서 모두 관리하게 된다면?
해당 서버에서 처리해야 하는 이벤트의 종류가 늘어날수록, 엔티티의 필드도 그만큼 늘어나게 될 것이다.

그렇게 되면 도메인은 금방 순수성을 잃고 비대해지게 될 것이며
'payload라는 외부 환경'에 휘둘려 막상 도메인이 진짜 해결해야 할 비즈니스 로직을 처리하지 못하게 되기 때문이다.

마무리

만약 주문서버에 "주문을 생성했다는 것을 알리는 이벤트"가 있다면,
그 이벤트에 필요한 payload를 구성해서 '이벤트 발행'만 합니다.

이후에 그 이벤트를 수신하게 되는 서버에서 어떤 추가적인 정보가 필요하다면?
그것은 그 서버에서 처리해야할 일이다.

'내배캠' 카테고리의 다른 글

TIL - 회복성, SPOF, 분산 트랜잭션과 결과적 일관성  (1) 2026.04.13
TIL - 이벤트 스토밍 해보기  (0) 2026.04.11
TIL - 숙련 프로젝트 종료 후, 주문 시나리오 설계 회고  (0) 2026.04.08
TIL - 주문 테이블 설계 정리  (0) 2026.03.28
TIL - 주문 테이블 구조 의사 결정 과정  (0) 2026.03.27
'내배캠' 카테고리의 다른 글
  • TIL - 회복성, SPOF, 분산 트랜잭션과 결과적 일관성
  • TIL - 이벤트 스토밍 해보기
  • TIL - 숙련 프로젝트 종료 후, 주문 시나리오 설계 회고
  • TIL - 주문 테이블 설계 정리
MvA
MvA
백엔드 개발자 김재현입니다. 주로 공부하면서 느낀점을 기록합니다.
  • MvA
    Man vs Ai
    MvA
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Java (6)
      • Python (8)
        • 딥러닝 (1)
        • 머신러닝 (7)
      • JavaScript (2)
      • 내배캠 (60)
      • 개인 프로젝트 (11)
      • 책 후기 (5)
      • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    머신러닝
    배포
    아키텍처
    TiL
    딥러닝
    내일배움캠프
    Riot API
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
MvA
TIL - MSA 환경에서, 엔티티가 필드로 관리해야할 범위
상단으로

티스토리툴바