본문 바로가기
DataOps

이벤트 기반 아키텍처(Event Driven Architecture, EDA)

by BenKangKang 2024. 5. 29.

Event Driven Architecture

  • 시스템 구성 요소들이 이벤트와 이벤트 핸들러로 서로 소통하는 구조. 관심사를 분리해 전체적인 결합도를 낮추기 위해 사용.
  • 유연한 구조, 뛰어난 확장성이 특징
    • 추가적인 컨슈머 필요하면 구독만 추가하면 됨.

구성 요소 4가지

  • 이벤트
  • 이벤트 발행자
  • 이벤트 리스너
  • 버스 (통로)

Internal Event vs External Event

Internal Event

  • 시스템 내 컴포넌트 간 통신
  • 목적
    • 내부 도메인 로직과 부가적인 정책을 분리하기 위해서
    • long transaction 분리

External Event

  • 시스템 간 통신
  • 카프카와 같은 이벤트 스트리밍 플랫폼, 혹은 메시지 브로커를 이용해서 처리

관련 영상

우아한형제들 EDA 예시(외부이벤트, 스프링)

https://www.youtube.com/watch?v=dJ5C4qRqAgA

- 내부 이벤트는 스프링 이벤트 사용 중

- 외부 이벤트는 카프카 사용 중

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글