rabbitmq 萬用字元模式Topics

2022-03-13 01:19:36 字數 657 閱讀 5400

topic模式也稱為主題模式,其實他相對於routing模式最大的好處就是他多了一種匹配模式的路由,怎麼理解匹配呢,其實就相當於我們之前正則的.*這種,不過他的匹配機制可能不是這種(其實除了匹配規則外,他的作用就和routing模式一樣 ),而他的工作流程圖如下:

ok! 先說一下他的匹配規則:

繫結鍵binding key也必須是這種形式。以特定路由鍵傳送的訊息將會傳送到所有繫結鍵與之匹配的佇列中。但繫結鍵有兩種特殊的情況: 

①*(星號)僅代表乙個單詞 

②#(井號)代表任意個單詞

示例:以上圖為例:

*.orange.* :  匹配以 任意乙個單詞字元開頭中間包含 .orange. 以任意乙個單詞字元結尾 的字串。比如 a.orange.b, sdfsd.orange.fdsfsdf 等(注意是乙個單詞)。

lay.# :只要一lay.開頭的都匹配,他可以匹配lay.a, lay.a.b, lay.b.c等。

這樣是不是很方便,比如我們想將log的發給q1佇列,其他的發給q2,那麼我們只需要定義log.#、或者log.*,那麼你傳送給q1佇列的資料就是log日誌的訊息。 

RabbitMQ 一二事 5 萬用字元模式應用

之前的路由模式是通過key相等來匹配 而萬用字元,顧名思義,符合條件,則進行訊息匹配傳送 將路由鍵和某模式進行匹配。此時佇列需要繫結要乙個模式上。符號 匹配乙個或多個詞,符號 匹配不多不少乙個詞。因此 audit.能夠匹配到 audit.irs.corporate 但是 audit.只會匹配到 au...

RabbitMQ Topics萬用字元模式

topic 型別與 direct 相比,都是可以根據 routingkey 把訊息路由到不同的佇列。只不過 topic 型別exchange 可以讓佇列在繫結 routing key 的時候使用萬用字元!routingkey 一般都是有乙個或多個單詞組成,多個單詞之間以 分割,例如 item.ins...

rabbitMQ模式詳解

工作模式 工作原理 當生成者產生訊息後,儲存到佇列當中,c1和c2分別是監聽佇列的兩個消費者 工作模式內部採用的是輪訓的機制依次執行訊息 發布訂閱者模式 p provider 生產者 x exchange 代表交換機 c1 隻間聽c1的訊息佇列 c2 只監聽c2的訊息佇列 說明 只要佇列繫結了交換機...