이벤트 브로커와 메세지 브로커 기초개념

2021-05-19

.

Data_Engineering_TIL_(20210519)

학습 참고자료 :

유투브 영상자료 ‘데브원영 DVWY’ 채널의 “카프카, 레빗엠큐, 레디스 큐의 큰 차이점! 이벤트 브로커와 메시지 브로커에 대해 알아봅시다.”을 보고 공부한 내용을 정리한 노트입니다.

URL : https://www.youtube.com/watch?v=H_DaPyUOeTo

[학습내용]

  • 카프카, 레빗엠큐, 레디스 큐의 차이점은 뭘까

  • 흔히 말하는 메세징 플랫폼은 두가지 종류로 나위어지게 된다.

종류 1. 메세지 브로커

메세지 브로커는 이벤트 브로커로의 역할을 할 수 없음

ex) 레디스 큐, 레빗엠큐 등등

종류 2. 이벤트 브로커

이벤트 브로커는 반면에 메세지 브로커의 역할을 할 수 있음

ex) 카프카, AWS 키네시스 등등

  • 메세지 브로커

많은 기업들의 메세지 기반 미들웨어 아키텍처에서 주로 사용되어 왔음

미들웨어라는 것은 서비스하는 어플리케이션들을 보다 효율적으로 아키텍처들을 연결하는 요소들로 작동하는 소프트웨어임

메세징 플랫폼, 인증 플랫폼, 데이터베이스 같은 것들이 미들웨어라고 볼 수 있음

메세지 브로커에 있는 큐에 데이터를 보내고 받는 프로듀서와 컨슈머를 통해 메세지를 통신하고 네트워크를 맺는 용도로 사용해옴

메세지 브로커의 특징으로는 메세지를 받아서 적절히 처리하고 나면 즉시 또는 짧은시간 내에 삭제되는 구조

  • 이벤트 브로커

특징 1. 이벤트 또는 메세지라고도 불리는 이 레코드, 이 장부를 딱 하나만 보관하고 인텍스를 통해 개별 액세스를 관리함

특징 2. 업무상 필요한 시간동안 이벤트를 보존할 수 있음

  • 즉 메세지 브로커는 데이터를 보내고, 처리하고, 삭제한다. 그러나 이벤트 브로커는 삭제하지 않는다.

  • 이벤트 브로커는 데이터를 처리했는데 왜 삭제를 하지 않는 것일까

이는 ‘이벤트’라는 단어에 단서가 있다.

이벤트 브로커는 서비스에서 나오는 이벤트를 마치 데이터베이스에 저장하듯이 이벤트 브로커의 큐에 저장을 함

이렇게 저장함으로서 얻는 명확한 이점이 있음

이점 1. 딱 한번 일어난 이벤트 데이터를 브로커에 저장함으로서 단일 진실 공급원으로 사용할 수 있음

이점 2. 장애가 발생하였을때 장애가 일어난 지점부터 재처리가 가능함

이점 3. 많은 양의 실시간 스트림 데이터를 효과적으로 처리할 수 있음

이점 4. 그 외에도 다양한 이벤트 기반 마이크로서비스 아키텍처에서 중요한 역할을 수행할 수 있음

이벤트 브로커로 클러스터를 구축하면 이벤트 기반 마이크로 서비스 아키텍처로 발전하는데 아주 중요한 역할을 할 뿐만 아니라 메세지 브로커로서도 사용이 가능하니까 매우 유용하다고 할 수 있음