메시지 브로커 vs 이벤트 브로커
메시지 브로커 vs 이벤트 브로커
메시지 브로커 (Message Broker)
Redis 큐
메시지 브로커는 송신자(프로듀서)와 수신자(컨슈머) 간의 비동기적인 데이터 흐름을 중개하는 시스템입니다. 메시지 브로커는 메시지를 보내는 쪽과 받는 쪽 사이에서 데이터를 버퍼링하고, 필요한 경우 메시지 큐, 토픽 등의 개념을 사용하여 데이터의 송수신을 관리합니다.
- 데이터를 큐에 넣고 큐에서 데이터를 처리하는 방식으로, 비동기적으로 작업을 처리하거나 데이터를 분산 처리하는 용도로 사용됩니다.
- 발행자(Publisher)가 이벤트를 특정 주제(topic)에 발행하고, 해당 주제를 구독하고 있는 구독자(Subscriber)가 이벤트를 수신하는 방식입니다.
- 서로 다른 애플리케이션 간에 데이터를 변환하거나 매핑하는 중개 역할을 할 수 있습니다.
이벤트 브로커 (Event Broker)
Apache Kafka, RabbitMQ, ActiveMQ, NATs, Amazon SQS
이벤트 브로커로 사용되는 프로그램들은 메시지 브로커로도 사용이 가능합니다.
이벤트 브로커는 주로 이벤트 기반 아키텍처에서 사용되며, 이벤트의 발생, 전달, 처리를 관리하는 시스템입니다. 이벤트는 시스템 내에서 발생한 중요한 상황이나 변화를 나타내며, 이를 다른 컴포넌트나 애플리케이션에 효과적으로 전달하기 위해 이벤트 브로커를 사용합니다.
- 여러 시스템 또는 마이크로서비스 간에 발생한 이벤트를 통합하고 중앙에서 관리함으로써 데이터 일관성을 유지하거나 중복 이벤트를 제거합니다.
- 이벤트, 메시지 1개만 두고 개별 엑세스 관리
- 딱 한 번 일어난 데이터 저장, 단일 진실 공급원
- 장애 지점부터의 재처리
- 많은 양의 실시간 데이터 스트림 처리
- 이벤트, 메시지 1개만 두고 개별 엑세스 관리
- 특정 이벤트를 특정 컴포넌트나 서비스로 라우팅하여 처리할 수 있게 합니다.
이벤트 순서를 관리하거나 이벤트 처리를 지연시키는 등의 흐름 제어 기능을 제공합니다.
- 카프카, 레빗엠큐, 레디스 큐의 큰 차이점! 이벤트 브로커와 메시지 브로커에 대해 알아봅시다.
This post is licensed under CC BY 4.0 by the author.