簡體   English   中英

RabbitMq主題交流

[英]RabbitMq topic exchange

使用RabbitMQ主題交換是否可以實現以下方案。

可以說我有兩個隊列:

Queue1:路由鍵MainRoute.Route1

Queue2:路由鍵MainRoute.Route2

當我使用路由密鑰發布消息時:

MainRoute.Route1->隊列1

MainRoute.Route2->隊列2

MainRoute->隊列1和隊列2

是否可以在不執行某些特殊的過濾,路由過程的情況下實現這一目標?

如果不能,請就可能的問題提出建議。

謝謝。

這可以通過直接交換或主題交換來完成,並且在交換中需要4個綁定。

假設以一個名為“ MainEx”的交換機為例,則路由密鑰的設置應如下所示:

| exchange | binding          | queue  |
| -------- | ---------------- | ------ |
| MainEx   | MainRoute.Route1 | Queue1 |
| MainEx   | MainRoute.Route2 | Queue2 |
| MainEx   | MainRoute        | Queue1 |
| MainEx   | MainRoute        | Queue2 |

通過主題交換,您可以使用標志將多個消息發送到單個隊列。 例如,將“ MainRoute。#”綁定到“ Queue3”會將所有 MainRoute消息發送到Queue3。

但是,沒有辦法對單個綁定執行相反的操作。 您需要創建多個綁定才能執行所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM