【微服务专题之】.Net6下集成消息队列上-RabbitMQ

微信公众号:趣编程ACE
关注可了解更多的.NET日常实战开发技巧,如需源码 请公众号后台留言 源码;
[如果觉得本公众号对您有帮助,欢迎关注]

.Net中RabbitMQ的使用

超清观看视频哦~


官网链接

RabbitMQ

代码演示

-详细见代码注释,操作看上文视频

生产者代码

1using RabbitMQ.Client;2using System.Text;345// 创建一个连接工厂6var factory = new ConnectionFactory()7{8    Uri = new Uri("amqp://guest:guest@localhost:5672")9};
10// 工厂开始连接
11using (var connection = factory.CreateConnection())
12// 创建一个连接通道
13using (var channel = connection.CreateModel())
14{
15    channel.QueueDeclare(queue: "hello",
16                         // 持久性 一直保持  直到消费者 消费队列
17                         durable: true,
18                         // 独占
19                         exclusive: false,
20                         autoDelete: false,
21                         arguments: null);
22
23    // 发送的消息
24    string message = "Hello World!";
25    var body = Encoding.UTF8.GetBytes(message);
26
27    // 基本发布 不指定交换
28    channel.BasicPublish(exchange: "",
29                         // 路由键   就是队列名称
30                         routingKey: "hello",
31                         // 基础属性
32                         basicProperties: null,
33                         // 传递的消息体
34                         body: body);
35    Console.WriteLine(" [x] Sent {0}", message);
36}
37
38Console.WriteLine(" Press [enter] to exit.");
39Console.ReadLine();

消费者代码

1using RabbitMQ.Client;2using RabbitMQ.Client.Events;3using System.Text;45// 创建一个连接工厂6var factory = new ConnectionFactory()7{8    Uri = new Uri("amqp://guest:guest@localhost:5672")9};
10using (var connection = factory.CreateConnection())
11using (var channel = connection.CreateModel())
12{
13    channel.QueueDeclare(queue: "hello",
14                         durable: true,
15                         exclusive: false,
16                         autoDelete: false,
17                         arguments: null);
18
19    // 创建一个消费者基本事件
20    var consumer = new EventingBasicConsumer(channel);
21    consumer.Received += (model, ea) =>
22    {
23        var body = ea.Body.ToArray();
24        var message = Encoding.UTF8.GetString(body);
25        Console.WriteLine(" [x] Received {0}", message);
26    };
27    channel.BasicConsume(queue: "hello",
28                         // 自动确认
29                         autoAck: true,
30                         consumer: consumer);
31
32    Console.WriteLine(" Press [enter] to exit.");
33    Console.ReadLine();

环境安装

docker下安装RabbitMQ镜像

1// 详细解释看视频
2docker run -d --hostname my-rabbit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq
3
4//这一段必须需要  否则网站起不来 其中 c71119561de6   为容器ID
5docker exec -it c71119561de6  rabbitmq-plugins enable rabbitmq_management

RabbitMQ是个轻量级,易部署的队列,我会根据官网指导,分享一系列常用使用技巧的,随时保持关注哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .

总结:Apache/Tomcat/JBOSS/Nginx区别 . 1、Apache是Web服务器,Tomcat是应用(Java)服务器。Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。Apache支持静态页,Tomcat支持动态的。 2、Jetty:Tomcat内核作…

华为云GaussDB,11.11让企业无后顾之忧

每年11.11大促对于数据库而言都是一场生死考验,如何保障系统的稳定可靠,如何平稳度过业务流量洪峰期,如何高效扩容,成为每个参与活动客户的一大痛点。本文将通过5个常见的大促问题及分析,看看华为云GaussDB是如何解决这…

【CC精品教程】ContextCapture(CC)集群处理环境部署图文教程

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 鉴于CC其三维构建运算的本质,海量数据的解析运算会使用大量的计算机资源,而再好的单台计算机也无法胜过多台计算机的并行运算能力,故而借助局域网内多台计算机设备进行三维构建运算,可以节省大…

Linux-PAM PAM-MySQL的总结

1、理论知识 1.1、PAM模块 1.1.1、PAM的介绍 Pluggable Authentication Modules简称PAM,是一个微缩的可插入认证模块(PAM is an acronym for Pluggable Authentication Modules) 1.1.2、PAM的结构 1)模块层(PAM服务模块) - PAM结构最底层 作用…

ubuntu下配置jdk(离线压缩包方式)

2019独角兽企业重金招聘Python工程师标准>>> 1,下载jdk压缩包 2、解压后得到名字为jdk1.7.0_21的文件夹,将其复制到 /usr/lib/jvm下(需要新建jvm文件夹)。3、配置jdk环境变量:在启动终端并输入 gedit /e…

【PhotoScan精品教程】PhotoScan简介、安装教程(附PhotoScan1.4.5安装包下载)

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) PhotoScan在无人机航空摄影测量空三运算中,具有运行速度快、精度高等特点。PhotoScan空三运算的结果可以导入CC等进行模型构建。【PhotoScan精品教程】讲解利用PhotoScan软件进行航测内业空三运算…

利用JS脚本快速删除百度网盘同一目录下的不需要文件(可以参考这个方法删除重复文件)

比如百度网盘某目录下存有如下文件: 要求:将如上图文件目录下的文件,每个月只保留最后(新)一个(根据文件名中包含的日期),其它删除。 比如7月份有3个文件,只保留2019-07-…

vuepress build提示YAMLException: end of the stream or a document separator is expected at line 7, colu

1、问题 vuePress执行build操作的时候 vuepress build ~/my_blogs/docs/ 错误提示如下 YAMLException: end of the stream or a document separator is expected at line 7, column 9:features:^at generateError (/usr/lib/node_modules/vuepress/node_modules/js-yaml/lib…

依赖注入之针对不同类型变量的几种注入方式

控制反转(Inversion of Control)和依赖注入(Dependency Injection)讲的都是一个概念,只不过是站在了不同的角度,所谓的依赖注入: 依赖注入(DI)是指在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容…

【本周六活动】.NET Day in China

点击蓝字关注我们编辑:Alan Wang排版:Rani Sun活动介绍去年11月,.NET 6 的发布,为我们带来了 .NET 多平台应用 UI(.NET MAUI)。就在前不久,.NET MAUI 已正式发布。未来,作为 .NET 7 …

【PhotoScan精品教程】任务一:新建工程、导入照片、设置坐标系、导入控制点(POS)、自由空三

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 【PhotoScan精品教程】任务一:新建工程、导入照片、设置坐标系、导入控制点(POS)、自由空三 【PhotoScan精品教程】任务二:刺像控点,平差,质量报告精度检查,像控点POS权重调配 【PhotoScan…

[转]Angular 单元测试讲解

Angular_单元测试 测试分类 按开发阶段划分按是否运行划分按是否查看源代码划分其他ATDD,TDD,BDD,DDD ATDDTDDBDDDDDAngular单元测试 Karma的介绍jasmine介绍单元测试的好处使用jasmine和karma创建一个Angular项目Karma配置Test.ts文件测试体验测试Form测试服务service常用断言…

windows执行python文件提示SyntaxError: Non-ASCII character ‘\xe9‘ in file 1.py on line 7, but no encoding d

1、问题 windows环境下执行python文件,提示错误如下 SyntaxError: Non-ASCII character \xe9 in file 1.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 2、解决办法 py文件头部加上 #codingutf-8

按键精灵如何调用Excel及按键精灵写入Excel数据的方法教程---入门自动操作表格...

首先来建立一个新的Excel文档,在桌面上点击右键,选择【新建】-【Excel工作表】,命名为【新手学员】。 现在这个新Excel文档是空白的,我们接下来会通过按键精灵的脚本来打开并写入一些数据。打开按键精灵软件,点击【新建…

第九十五节,移动流体布局和响应式布局总结

移动流体布局和响应式布局总结 宽度与高度 区块宽度一般用max-width 最大宽度和百分比,来定义宽度,因为要实现自动缩放 高度如果要自适应,就不需要定义高度,或者定义最小高度 注意:横向的尽量用百分比,如边…

Maui的学习之路 -- 开篇

Maui的学习之路 -- 开篇想了很久我决定发一个Maui介绍做为开篇,虽然这是老生常谈的话题,但是不能没有这样的探讨(请容我水一篇)。什么是.NET Maui.NET Maui是微软的一款基于.Net多平台应用 UI (.NET MAUI)的跨平台框架&#xff0c…

【PhotoScan精品教程】任务二:刺像控点,平差,质量报告精度检查,像控点POS权重调配

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 【PhotoScan精品教程】任务一:新建工程、导入照片、设置坐标系、导入控制点(POS)、自由空三 【PhotoScan精品教程】任务二:刺像控点,平差,质量报告精度检查,像控点POS权重调配 【PhotoScan…

互联网架构的演变,看了好多这个讲的确实清楚!

从过去的 OA、CRM、ERP 等单机即可满足要求的系统到现代互联网时代各大公司的分布式、微服务平台,互联网架构正在经历着巨大的变革,技术也在不断的更新迭代。 图片来自 Pexels这也意味着众多软件开发者们的压力和挑战正在不断的加大,这种新技…

【Inpho精品教程】Inpho简介、安装教程(附Inpho8安装包下载)

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) Inpho UASMaster是Trimble公司旗下的一款摄影测量处理软件。本文讲解Inpho简介、安装教程(附Inpho8安装包下载)。 文章目录 1. Inpho简介2. Inpho安装教程3. Inpho8下载地址1. Inpho简介 1.1 主…

MAUI使用Masa blazor组件库

上一篇(点击阅读)我们实现了UI在Web端(Blazor Server/Wasm)和客户端(Windows/macOS/Android/iOS)共享,这篇我加上 Masa Blazor[2]组件库的引用,并把前几个月写的时间戳转换[3]工具加上。1. 前置知识关于Masa Blazor请点击Masa Blazor官网[4]了解&#xf…