[RabbitMQ #99] Exchanges Type

2022. 5. 24. 12:29 Spring Cloud/RabbitMQ

Exchanges Type

Exchanges는 메시지에 포함된 routing_key와 일치하는 Queue에 메시지를 전달한다.

RabbitMQ는 다음과 같은 4개의 Exchanges Type을 지원하며, Exchange에 대한 자세한 내용은 [AMQP] AMQP(Advanced Message Queuing Protocol) 에서 확인 할 수 있다.

  • Direct Exchange
    • Producer가 보내는 메시지의 routing_key와 일치 하는 Queue에게만 데이터를 보냄

  • Fanout Exchange
    • Binding 되어 있는 모든 Queue에게 데이터를 보냄 

  • Topic Exchange
    • 와일드 카드(*,#)를 이용해 메시지를 Queue에 매칭하는 방법
    • * : 하나의 단어를 의미
    • # : 0개 이상의 단어를 의미
      • # 만 Binding 하면, 모든 routing_key를 수신 할 수 있음. ( Fanout과 동일한 동작 수행 )

  • Headers Exchange
    • Key-Value로 정의된 헤더에 의해 라우팅 결정
      • x-match = "all" : 바인딩 조건 모두 충족
      • x-match = "any" : 바인딩 조건 중 하나만 충족

 

참고 자료

https://www.rabbitmq.com/tutorials/tutorial-three-python.html



출처: https://kaizen8501.tistory.com/221?category=958645 [Life4IoT]