반응형
각 비지니스 로직별 시스템 들이 특정 이벤트를 구독하여 작업을 처리하는 방식.
특정 이벤트가 발생하면 이를 다른 서비스 또는 모듈이 구독하여, 처리하는 비동기 처리방식
반응형
구성요소
- 이벤트
시스템 내에서 발생하는 상태변화 및 행동
예) 주문완료, 배송완료, 반품접수 등
- 이벤트 프로듀서 - Event Producer
이벤트를 생성 및 발행한다.
예) 주문완료시 "주문완료" 라는 이벤트를 발행 하여 이벤트 브로커에게 전달한다.
- 이벤트 브로커 - Event Broker
이벤트를 구독하는 컨슈머에게 전달한다.
예) Kafka, Rabbit MQ 등의 메시지이 시스템
- 이벤트 컨슈머 - Event Consumer
이벤트를 구독하고 처리한다.
예) "주문완료" 이벤트를 구독하여 상품 출고를 처리한다.
장점
비동기적으로 실시간으로 이벤트를 처리할 수있다.
프로세스간, 시스템간 느슨한 결합으로 여러 시스템들은 독립적으로 관리 및 동작하여, 유지보수, 장애 대응에 유연하다.
단점
느슨한 결합으로 시스템 설계와 디버깅이 어렵다.
메시지중복 또는 유실될 우려가 있어 이를 고려해야한다. 예) 먹등성
프로커를 통한 이벤트 전달로 지연현상이 발생 할 수 있다.
반응형
'개발' 카테고리의 다른 글
HTML, javascript, css 웹 개발 연습 할 수 있는 사이트 (4) | 2023.06.08 |
---|---|
iTerm2 커스텀 하기(1) - zsh 설치 / oh-my-zsh 설치 및 테마 적용 (4) | 2023.01.23 |
맥 터미널 프로그램 iTerm2 설치하기 (0) | 2023.01.22 |
IntelliJ 단축키 모음(맥) (0) | 2023.01.08 |
ideaVim 단축키 (2) | 2023.01.07 |