.Net中简单地使用RabbitMQ消息队列

llovebo

共 2145字,需浏览 5分钟

 ·

2022-05-09 12:29

一.简介
  消息队列(Message Queue),指的是消息传递之间的容器,通常使用场景是,不需要立刻得到结果,但有需要对并发量进行控制的时候。

  有很多组件可以实现消息队列,这里使用RabbitMQ。本文是为了简单记录一下.Net (Core)中如何通过EasyNetQ去使用RabbitMQ。

二.使用

1.环境准备

  下载安装Erlang和RabbitMQ,我这里是在Windows上安装的。

  准备两个控制台应用(Publisher和Subscriber)和一个类库(Messages)。

34daf7bd76346b072c936ede76678b9c.webp

 

  通过Nuget,给Publisher和Subscriber项目安装EasyNetQ。

7ad2299bc48de4c8f2c3505711ec8f52.webp

 

   在Messages类库中,添加一个类。

public class TextMessage{    public string Text { get; set; }}

2.Publisher项目

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,然后使用它创建的IBus实例来发布消息。这里的通过用户在控制台输入字符串来发送消息。

3.Subscriber项目

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. Hit to quit."); Console.ReadLine(); } }
public static void HandleTextMessage(TextMessage textMessage) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Got message: {0}", textMessage.Text); Console.ResetColor(); }}


  这里是订阅消息,只要程序在运行中,就会一直处于监听状态。只要发布者发布了指定类型的消息,这里就可以实时获取到,然后打印出来。

4.测试

   运行两个控制台应用。在Publisher中输入字符,Subscriber就会实时获取。

a477fd3269b49c5751fafbc857543f7f.webp

 

   进入到RabbitMQ界面查看,在connections中可以看到目前两个客户端都在运行中(running)。

de3bc3572a4f335e7171b8610b061592.webp

 

   在Queues中,看到目前注册的队列只有一个。

96bac392fd93a1d2b1a483c7c9beaf70.webp

 

 三.总结

  1.在.Net中可以使用EasyNetQ插件来使用RabbitMQ。

  2.本文的例子涉及到了消息队列的订阅发布模式。

https://www.cnblogs.com/shadoll/p/14597682.html


版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除。



a0b7f90abc4c6f0259c8b65f7df44df1.webp支持小薇

腾讯云福利 

 爆款2核2G云服务器首年50元,2G2核5M云服务器259元/3年

链接:https://curl.qcloud.com/1VVs7OBH

关注:DotNet开发跳槽

                                                             

  041cb4bd173ad3b639e8ea5e1dac0851.webp觉得不错,请点个在看5b08ee8636679ec24fdcb41a5327c865.webp

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报