RabbitMQ ‐ Routing 모델 - dnwls16071/Backend_Study_TIL GitHub Wiki

📚 Routing 모델

  • Routing 모델은 메시지를 Routing Key에 따라 특정 큐에 전달하는 기능으로 Fanout Exchange와 함께 가장 일반적인 모델이다.
  • Direct Exchange와 Topic Exchange 모두에서 사용 가능하다.
특징 Direct Exchange Topic Exchange
라우팅 키 매칭 방식 정확히 일치 패턴 기반
특징 매칭 제한이 있음 매우 유연
사용 사례 단순 명확한 목적의 라우팅 복잡하고 동적인 라우팅
  • Topic의 경우 패턴 매칭 기반 라우팅으로 binding key와 매칭되는 메시지 수신
    • * : 한 단어에 해당하는 모든 단어 수신
    • # : 0개 이상의 단어(와일드 카드)

[ 주요 특징 ]

  1. 고성능 : 메시지를 필요한 곳에만 전달하기 때문에 네트워크 부하 감소 효과가 있고 브로드캐스트보다 자원을 효율적으로 사용한다.
  2. 라우팅 키 기반의 메시지 분배 : 각 큐는 하나 이상의 라우팅 키와 매칭 & Fanout 방식과 달리 메시지가 특정 큐로만 전달된다.
  3. 바인딩 설정 : Direct Exchange는 정확한 매칭 기반, Topic Exchange는 패턴 기반 매칭