.Net中簡單地使用RabbitMQ消息隊(duì)列
一.簡介
消息隊(duì)列(Message Queue),指的是消息傳遞之間的容器,通常使用場景是,不需要立刻得到結(jié)果,但有需要對(duì)并發(fā)量進(jìn)行控制的時(shí)候。
有很多組件可以實(shí)現(xiàn)消息隊(duì)列,這里使用RabbitMQ。本文是為了簡單記錄一下.Net (Core)中如何通過EasyNetQ去使用RabbitMQ。
二.使用
1.環(huán)境準(zhǔn)備
下載安裝Erlang和RabbitMQ,我這里是在Windows上安裝的。
準(zhǔn)備兩個(gè)控制臺(tái)應(yīng)用(Publisher和Subscriber)和一個(gè)類庫(Messages)。

?
通過Nuget,給Publisher和Subscriber項(xiàng)目安裝EasyNetQ。

?
? 在Messages類庫中,添加一個(gè)類。
public class TextMessage{public string Text { get; set; }}
2.Publisher項(xiàng)目
class Program{public static void Main(string[] args){var connStr = "host=127.0.0.1;virtualHost=EDCVHOST;username=admin;password=123456";using (var bus = RabbitHutch.CreateBus(connStr)){var input = "";Console.WriteLine("Please enter a message. 'Quit' to quit.");while ((input = Console.ReadLine()) != "Quit"){bus.PubSub.Publish(new TextMessage { Text = input });}}}}
通過EasyNetQ去連接RabbitMQ,然后使用它創(chuàng)建的IBus實(shí)例來發(fā)布消息。這里的通過用戶在控制臺(tái)輸入字符串來發(fā)送消息。
3.Subscriber項(xiàng)目
class Program{public static void Main(string[] args){var connStr = "host=127.0.0.1;virtualHost=EDCVHOST;username=admin;password=123456";using (var bus = RabbitHutch.CreateBus(connStr)){bus.PubSub.Subscribe("my_test_subscriptionid", HandleTextMessage); Console.WriteLine("Listening for messages. Hitto quit." );Console.ReadLine();}}public static void HandleTextMessage(TextMessage textMessage){Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine("Got message: {0}", textMessage.Text);Console.ResetColor();}}
這里是訂閱消息,只要程序在運(yùn)行中,就會(huì)一直處于監(jiān)聽狀態(tài)。只要發(fā)布者發(fā)布了指定類型的消息,這里就可以實(shí)時(shí)獲取到,然后打印出來。
4.測試
? 運(yùn)行兩個(gè)控制臺(tái)應(yīng)用。在Publisher中輸入字符,Subscriber就會(huì)實(shí)時(shí)獲取。

?
? 進(jìn)入到RabbitMQ界面查看,在connections中可以看到目前兩個(gè)客戶端都在運(yùn)行中(running)。

?
? 在Queues中,看到目前注冊(cè)的隊(duì)列只有一個(gè)。

?
?三.總結(jié)
1.在.Net中可以使用EasyNetQ插件來使用RabbitMQ。
2.本文的例子涉及到了消息隊(duì)列的訂閱發(fā)布模式。
https://www.cnblogs.com/shadoll/p/14597682.html
版權(quán)聲明:本文來源于網(wǎng)友收集或網(wǎng)友提供,僅供學(xué)習(xí)交流之用,如果有侵權(quán),請(qǐng)轉(zhuǎn)告版主或者留言,本公眾號(hào)立即刪除。
支持小薇騰訊云福利?:
?爆款2核2G云服務(wù)器首年50元,2G2核5M云服務(wù)器259元/3年
鏈接:https://curl.qcloud.com/1VVs7OBH
關(guān)注:DotNet開發(fā)跳槽
?????????????????????????????????????????????????????????????
??
覺得不錯(cuò),請(qǐng)點(diǎn)個(gè)在看
呀
