목차
메시지 브로커
- 이벤트 브로커로 역할을 할 수 없다.
- 많은 기업들의 대규모 메시지 기반 미들웨어 아키텍처에서 사용
ex) 메시징 플랫폼, 인증 플랫폼, 데이터베이스
*미들웨어
서비스하는 애플리케이션들을 보다 효율적으로 아키텍처들을 역결하는 요소들로 작동하는 소프트웨어를 뜻한다.
- 메시지 브로커에 있는 큐에 데이터를 보내고 받는 프로듀서와 컨슈머를 통해 메시지를 통신하고 네트워크를 맺는 용도로 사용해왔습니다.
특징
- 메시지를 받아서 적절히 처리하고 나면 즉시 또는 짧은 시간 내에 삭제되는 구조이다.
- 데이터를 보내고, 처리하고 삭제한다.
ex ) 레디스 큐, 레빗엠 큐
이벤트 브로커
- 이벤트 브로커는 메시지 브로커 역할을 할 수 있다.
특징
- 이벤트 또는 메시지라고도 불리는 이 레코드 이 장부를 딱 하나만 보관하고 인덱스를 통해 개별 엑세스를 관리합니다.
- 업무상 필요한 시간동안 이벤트를 보존할 수 있다.
- 이벤트 브로커는 삭제하지 않는다.
왜 데이터를 처리했는데 삭제하지 않을까?
단서는 '이벤트' 라는 단어에 숨어있다. 이벤트 브로커는 서비스에서 나오는 이벤트를 마치 데이터 베이스에 저장하듯이 이벤트 브로커의 큐에 저장하는데요. 이렇게 저장하면서 얻는 명확한 이점이 있다.
첫번째 이점은 딱 한번 일어난 이벤트 데이터를 브로커에 저장함으로써 단일 진실 공급원으로 사용할 수 있다.
두번째는 장애가 발생했을 때 장애가 일어난 시점부터 재처리할 수 있습니다.
세번째는 많은 양의 실시간 스트림 데이터를 효과적으로 처리할 수 있다는 특징이 있다.
그외에도 다양한 MSA에서 중요한 역할을 맡을 수 있다.
ex) 카프카나 aws 키네시스가 대표적이다.
이벤트 브로커로 클러스터를 구축하면 이벤트 기반 마이크로 서비스 아키텍처로 발전하는데 아주 중요한 역할을 한다. 메시지 브로커로서도 사용할 수 있으니깐 팔방미인이다.
카카오에서의 도입
'Back-end > MessagingFlatform' 카테고리의 다른 글
아파치 카프카 개요 및 설명 (0) | 2022.03.30 |
---|