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개 이상의 단어(와일드 카드)
[ 주요 특징 ]
- 고성능 : 메시지를 필요한 곳에만 전달하기 때문에 네트워크 부하 감소 효과가 있고 브로드캐스트보다 자원을 효율적으로 사용한다.
- 라우팅 키 기반의 메시지 분배 : 각 큐는 하나 이상의 라우팅 키와 매칭 & Fanout 방식과 달리 메시지가 특정 큐로만 전달된다.
- 바인딩 설정 : Direct Exchange는 정확한 매칭 기반, Topic Exchange는 패턴 기반 매칭