RabbitMQ入門 Topic模式

2021-09-07 13:51:15 字數 1518 閱讀 4323

上篇《rabbitmq入門-routing直連模式》我們介紹了可以定向傳送訊息,並可以根據自定義規則派發訊息。看起來,這個routing模式已經算靈活的了,但是,這還不夠,我們還有更加多樣靈活的topic模式。

這時候我們給program argument賦值如下,並啟動傳送端程式

程式執行完,可以在rabbitmq管理應用中看到名為「topic_logs」的exchange。

接收端

/**

* created by jackie on 17/8/7.

*/public class receivelogsdirect

for(string severity : ar**)

system.out.println(" [*] waiting for messages. to exit press ctrl+c");

consumer consumer = new defaultconsumer(channel)

};channel.basicconsume(queuename, true, consumer);}}

我們將啟動兩個消費者,並分別制定兩套routing key的規則。

第乙個消費者

第二個消費者

啟動兩個消費者後,使用傳送端傳送一條訊息,我們可以發現兩個消費者都通過routing key規則派發到了訊息

注意:實際上如果routing key寫成了「#」表示能夠接受所有的訊息,類似廣播模式。

這就是topic模式,到此為止,幾大主要rabbitmq模式已經講完了。你是否對於rabbitmq有了乙個基本的了解了?

RabbitMq學習筆記(五) Topic

receivetopicone 匹配規則1 宣告交換器和佇列 channel.exchangedeclare exchange name,topic string queuename channel.queuedeclare getqueue 路由關鍵字規則 string routingkeys n...

RabbitMQ學習筆記(五) Topic

direct exchange幫助我們解決了分類發布與訂閱訊息的問題,但是direct exchange的問題是,它所使用的routingkey是乙個簡單字串,這決定了它只能按照乙個條件進行分類。比如rabbitmq學習筆記 四 routing中的列子,我們是按照新聞的型別分類的,分為game,sp...

RabbitMQ的基礎使用 Topic模式

我們在amqp及rabbitmq概論中,介紹交換器型別的時候,就曾提到過topic模式,該模式其實和activemq萬用字元式訂閱非常的類似,所以這裡我們就不過於詳細介紹了,直接來簡單看一下小例子吧。和rabbitmq中的direct fanout模式類似,在使用時,我們只需將交換器的型別修改為to...