日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RabbitMQ Topic exchange

發布時間:2025/4/5 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ Topic exchange 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Topic exchange

topic與之前的每個類型都不同(ps:廢話每個都是不同的)。Topic解決了我們另一個需求。舉個例子,有一個做資訊的公司,他們會收集各種科技公司的動態并且第一時間轉發出來。小編A負責微軟公司,小編B負責谷歌公司,手工去搜索文章并且看標題是否匹配再進行轉發是非常的低效的,可能小編們想要偷懶,寫一個程序去各大網站進行爬數據,對于標題中含有微軟的交給小編A,對于標題中含有谷歌的交給小編B。

是的,topic就是類似與正則進行模糊匹配routingkey,對于key需求是即確定又不完全確定的。

*代表零到多個字符

. 代表一個字符

把這個嵌套到代碼中,先看生產者部分代碼,現在發布不再是寫死的,可以在控制臺程序中輸入的。

var flag = true;while (flag){Console.WriteLine("請輸入要發布的消息 key|msg。 或者按Ctrl+ C退出");var msg = Console.ReadLine();//創建返回一個新的頻道using (var channel = RabbitMqHelper.GetConnection().CreateModel()){var msgs = msg.Split('|');//發布一個消息var body = Encoding.UTF8.GetBytes(msgs[1]);channel.BasicPublish("TopicExchange", routingKey: msgs[0], basicProperties: null, body: body);Console.Write("發布成功!");}}

再把注意力轉到consumer端,可以指定路由規則。聲明了一個topic類型的exchange進行綁定。然后進行消費

bool flag = true;var key = "";while (flag){Console.WriteLine("請輸入路由正則 .代表一個字符 *代表零到多個字符");key = Console.ReadLine();if (string.IsNullOrWhiteSpace(key)){Console.Write("請輸入路由");continue;}elseflag = false;}using (var channel = RabbitMqHelper.GetConnection().CreateModel()){//根據聲明使用的隊列var QueueName = key + "Queue";//聲明交換機 headers模式channel.ExchangeDeclare("TopicExchange", ExchangeType.Topic, true, false);channel.QueueDeclare(QueueName, true, false, false, null);//進行綁定channel.QueueBind(QueueName, "TopicExchange", key, null);//創建consumbersvar consumer = new EventingBasicConsumer(channel);consumer.Received += (sender, e) =>{var msg = Encoding.UTF8.GetString(e.Body);Console.WriteLine($"{e.RoutingKey}:{msg}");};//進行消費channel.BasicConsume(QueueName, true, consumer);Console.ReadKey();}

現在,讓我們把程序跑起來,并指定了 *微軟*與*谷歌*的路由

再發布幾條匹配的消息

轉載于:https://www.cnblogs.com/LiangSW/p/6209533.html

總結

以上是生活随笔為你收集整理的RabbitMQ Topic exchange的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。