Message Queue 와 Message Bus에 대해

고승우·2023년 6월 13일
0

Message Queue란?

하나의 application에서 bunch of messages(메세지 묶음)을 수신하고 이를 FIFO(선입선출) 기반으로 하나 이상의 다른 애플리케이션에 전달하는 것이다. 수신하는 각 application에는 고유의 queue가 존재한다.

  • publisher: queue에 message를 남김
  • consumer: message를 받고 처리
    message queue는 publisher, consumer 두 가지로 구성되어 있다.
    즉, 모든 queue에 message를 명시적으로 추가해야 한다.
    다음은 message queue로써 가장 잘 알려져 있다;
    RabbitMQ, Kafka, ActiveMQ, AmazonSQS, IronMQ, Redis.

Message Bus란?

Message Bus는 'Service Bus'라 부를 수 있다. Message Bus는 하나 이상의 application과 다른 하나 이상의 application과 메시지를 통신할 수 있도록 messaging infrastructure(기반)을 제공한다. Message Bus는 FIFO(선입선출)을 보장하지 않는다. Message Bus를 subscibe 한 Subscribers는 publisher에 대해 알지 못한 채로 published(발행된) message를 수신한다.
message는 Message Bus에게 API를 송신함으로써 발행되고, 수신하는 API는 원하는 message를 수신할 수 있다.
Publisher는 state update와 같은 내용을 Message Bus에 싣고, 이러한 message가 필요한 Subscriber는 Message Bus로부터 필요한 message를 받는다. 즉, m를 게시하면 버스로 보내고 버스에 연결된 어플리케이션들이 메세지를 각자 가지고 가는 방식이다.

profile
٩( ᐛ )و 

0개의 댓글