RabbitMQ

[RabbitMQ] 기초 개념 - 5 (Topic)

zamezzz 2022. 5. 16. 15:00

이전 Routing을 통해 특정 Queue로 메시지를 전송할 수 있었습니다.
이때 type은 direct로 설정을 했는데요. 하지만 이렇게 direct를 사용하면 하나의 기준으로만 Routing을 할 수 있습니다.

이번에는 여러 기준으로 Routing을 할 수 있는 Topic에 대해 정리하겠습니다.

Topic은 .(dot)으로 구분된 단어로 설정 할 수 있습니다.
예시) "stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit".

Topic Exchange는 Direct Exchange와 유사합니다.
특정 키로 보낸 메시지는 일치하는 바인딩 키로 바인딩된 모든 큐에 전달됩니다.



바인딩 키에는 두 가지 규칙이 있습니다.
1) * 는 정확히 한 단어를 대체.
2) # 는 0개 이상의 단어를 대체.

예시)
Q1의 바인딩 키 " *.*.rabbit "
Q2의 바인딩 키 " lazy.# "

이러한 바인딩은 다음과 같이 요약할 수 있습니다.

"quick.orange.rabbit" -> Q1
"lazy.orange.elephant" -> Q
"lazy.pink.rabbit" -> Q1, Q2
"lazy.orange.male.rabbit" -> Q2

반응형

'RabbitMQ' 카테고리의 다른 글

[RabbitMQ] Exchange Type  (0) 2022.05.18
[RabbitMQ] 기초 개념 - 4 (Routing)  (0) 2022.05.16
[RabbitMQ] 기초 개념 - 3 (Pub/Sub)  (0) 2022.04.12
[RabbitMQ] 기초 개념 - 2 (Work queues)  (0) 2022.04.08
[RabbitMQ] 기초 개념 - 1  (0) 2022.04.01