alt
Home RabbitMQ란?
Post
Cancel

RabbitMQ란?

: 오픈소스 메시지 브로커이다. 가볍고 쉬우며 다양한 messaging protocol을 지원한다.


특징

  • Async messaging을 지원한다.
  • Docker 환경에 적합. 설정을 통해 많은 컨트롤 가능
  • 높은 성숙도(기능이 많다), 처리율 높은 편
  • Auth 매커니즘 지원. (TLS, LDAP)


주요 개념

Producer

  • 메시지 생성, 발송하는 역할
  • 메시지가 Queue에 저장되고, Producer는 Exchange를 통해 Queue에 접근.

Consumer

  • 메시지 수신하는 역할
  • Queue에서 직접 가져옴.

Queue

  • Producer에 의해 발송된 메시지가 저장되는 곳
  • 미들웨어 역할
  • Server 종료시 queue 리셋 (유지하려면 Durable = true / PERSISTENT_TEXT_PLAIN옵션 설정)

Exchange

  • Queue에 종류가 있기 때문에 여기서 적절한 Queue로 메시지 전달(Routing)
  • Router 역할.


Exchange 종류
  • Direct: Routing key를 통해 보냄. 하나의 큐에 여러 routing key 가능. (유니캐스트)
  • Topic: Routing pattern이 일치하는 곳에. (멀티캐스트)
  • Headers: Topic과 비슷. header를 쓴다. (멀티캐스트)
  • Fanout: Exchange에 등록된 모든 Queue에 전송. (브로드캐스트)


Binding

  • Exchange에게 메시지를 routing 할 규칙 지정.



Reference)

https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges

https://blog.dudaji.com/general/2020/05/25/rabbitmq.html

This post is licensed under CC BY 4.0 by the author.