이벤트 드리븐이 뭔데?
- 시스템에서 발생하는 이벤트, 예를들어 주문생성이나 결제완료 등 이 있다면 이런 이벤트를 기반으로 동작하는 시스템을 말합니다
- 이를 통해 얻을 수 있는 장점은 각 도메인 간의 의존성이 사라져 독립적으로 발전 및 개발이 가능하며 비동기적으로 처리하게 될 경우 응답성이 좋아지지만 데이터 일관성이 주요 문제점입니다
- 이벤트 실패 시 다른 서비스로 장애가 전파되거나 재처리 시 멱등성을 고려해야 합니다
- 장애 복구 메커니즘을 구현해야 합니다
이벤트 드리븐에서의 용어들
- 이벤트 : "주문 상태", "결제 완료" 등의 발생된 상태 변화나 작업
- 이벤트 소스 : 이벤트 생성 및 이벤트 버스에 이벤트를 전달하는 역할
- 이벤트 핸들러 : 이벤트를 수선/구독하여 처리하는 역할
- 이벤트 버스 : 이벤트 소스, 이벤트 핸들러 간의 중개자 역할 / 메시지 브로커 형태로 구현 가능
Spring Cloud Stream
- 이벤트 드리븐 구성을 위한 프레임워크로서 메시지 브로커와의 통합을 지원하며 프로듀서, 컨슈머 등의 추상화를 제공합니다
- 바인더 추상화, 프로듀서/컨슈머 모델, 유연한 설정 등이 존재합니다
테스트
- 주문 생성 → 결제 승인 → 출하 이벤트 처리 테스트
- https://github.com/leeMK09/MemoMemo/tree/main/Playground/event_driven_spring_cloud_stream

'학습일지 > Architecture' 카테고리의 다른 글
| [Architecture] 레플리카 / 다중 리더 / 동시 쓰기 의 용어 및 개념 정리 (0) | 2025.10.05 |
|---|---|
| [Architecture] 분산 추적 (0) | 2025.09.18 |
| [Architecture] 중앙 집중식 Config 설정 관리 (3) | 2025.09.17 |
| [Architecture] API Gateway (Spring Cloud Gateway) (0) | 2025.09.17 |
| [Architecture] 서킷브레이커 (Resilience4j) (0) | 2025.09.17 |