[Back-end] 메시지 브로커

Geun·2022년 4월 28일
0

Back-end

목록 보기
69/74

Kafka(이벤트 브로커)와 RabbitMQ(메시지 브로커) 모두 pub/sub 기반의 메시지 큐 서비스를 제공한다.

Message BrokerPublisher(송신자)로 부터 받은 메시지를 Subscriber(수신자)로 전달해주는 중간 역할이며 응용 소프트웨어 간에 메시지를 교환할 수 있게 한다.
이 때 메시지가 적재되는 공간을 Message Queue(메시지 큐)라고 하며 메시지의 그룹을 Topic(토픽)이라 부른다.

메시지 브로커는 대표적으로 ApacheKafka, Redis, RabbitMQ, Celery 등이 있다.

메시지 브로커

메시지 브로커는 publisher가 생산한 메시지를 메시지 큐에 저장하고 저장된 데이터를 consumer가 가져갈 수 있도록 중간 다리역할을 하는 브로커(broker)라고 볼 수 있다.

보통은 서로 다른 시스템 사이에서 데이터를 비동기 형태로 처리하기 위해 사용한다.
이런 구조를 pub/sub 구조라고 하며 대표적으로 RabbitMQ 소프트웨어, GCP의 pubsub, AWS의 SQS 같은 서비스가 있다.

이런 메시지 브로커들은 consumer가 큐에서 데이터를 가져가게 되면 즉시 혹은 짧은 시간내에 큐에서 데이터가 삭제되는 특징들을 가지고 있다.


이벤트 브로커

이벤트 브로커는 기본적으로 메시지 브로커의 큐 기능들을 가지고 있다.
메시지 브로커는 이벤트 브로커의 역할을 할 수 있지만 메시지 브로커는 이벤트 브로커의 역할을 할 수 없다.

이벤트 브로커는 publisher가 생산한 이벤트를 데이터베이스에 저장하듯이 계속 저장해 후에 consumer가 특정 시점부터 이벤트를 다시 읽어갈 수 있다.

이것이 메시지 브로커와의 차이점이다.
또 대용량 데이터 처리에 있어 메시지 브로커보다는 더 많은 양의 데이터를 처리할 수 있는 능력이 있다.


참고자료

https://heodolf.tistory.com/49
cjy9306님 velog

0개의 댓글