首页 > 其他分享 >RabbitMQ入门学习系列(二),单生产者消费者

RabbitMQ入门学习系列(二),单生产者消费者

时间:2022-11-25 17:03:28浏览次数:66  
标签:入门 生产者 代码 RabbitMQ server 队列 vs 安装


友情提示

我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题。可以直接在公众号《爱码农爱生活 》留言。必定会再次复查原因。让每一篇 文章都能顺利实现。道理讲明白 。原理讲清楚。代码必实现

快速阅读

安装好Rabbitmq-server,Erlang后,在vs中添加 Rabbitmq.client.建立两个控制台应用,实现单生产者单消费者的模式。

1.安装Rabittmq-server

RabbitMQ入门学习系列(二),单生产者消费者_下载地址

提示没有安装elang,要先下载安装erlang

2.下载安装erlang

点击第一步的弹出对话框提示。会自动打开Erlang的下载链接 地址。我的是win7 64位系统,所以我选择下面红框里的这个

RabbitMQ入门学习系列(二),单生产者消费者_下载地址_02

3.Erlang和RabbitMq的下载地址备份

今天终于下载下来了。为了避免以后因为网络问题下不下来,直接备份到百度云

  1. rabbitmq-server-3.7.15.exe 下载地址

链接:https://pan.baidu.com/s/1aTEtVwNvSV58gzbmLncQlA   提取码:3b1x

  1. otp_win64_22.0 -erlang 下载地址链接:https://pan.baidu.com/s/1DF_KDKxTAHRGHZj6LYKdaA 提取码:9oy8

4.Erlang中OTP是啥

Open Telecom Platform的缩写,简单理解就是一个框架 ,主要是把通用部分代码和业务代码进行分离

5.OTP22的安装

安装OTP22 ,直接打开,安装到自己的程序目录就行。一直next到结束 。

RabbitMQ入门学习系列(二),单生产者消费者_远程服务器_03


6.安装RabbitMq-server

直接打开,安装到自己的程序目录就行。一直next到结束

RabbitMQ入门学习系列(二),单生产者消费者_下载地址_04

RabbitMQ入门学习系列(二),单生产者消费者_远程服务器_05


7.官方的入门教程代码下载

​https://github.com/rabbitmq/rabbitmq-tutorials​

8.RabbitMQ 入门代码 Hello world

Rabbitmq是一个消息中间件,生产者生产消息放入队列中,消费者从队列中拿消息进行消费。

RabbitMQ入门学习系列(二),单生产者消费者_远程服务器_06

分别给两个项目安装RabbitMQ.client依赖包。如果用这种方式安装的话,产生的项目是netcore的


RabbitMQ入门学习系列(二),单生产者消费者_远程服务器_07

好了,vs打开启动项目

不过遇到vs不能调试的错误了。,记得以前也遇到过这个问题,网上好多人说是把msvsmon.exe从别的地方复制一份就可以了,但是我的不行,最后是通过添加删除程序解决的。

感觉这个错误,好像会出现在多个vs版本的时候会容易出现混乱。


RabbitMQ入门学习系列(二),单生产者消费者_erlang_08


但是发现新建的程序台程序是可以使用的。

这个先不用管了直接转为传统的方式,vs打开项目,Nuget添加RabbitMq.client进行测试

重新在console控制台里操作吧。

9.vs中创建生产者

先安装RabbitMQ.Client

RabbitMQ入门学习系列(二),单生产者消费者_下载地址_09

生产者代码:

注意:创建的链接如果是远程服务器,要换成远程服务器的IP地址,我们是用localhost在本地测试

       创建完链接以后,再创建信道。大多数的api调用都是在信道中完成的。

最后声明一个队列,把我们要发送的消息发送出去。

消息的内容在队列中存的是了一个字节数组 ,我们一般用Encoding.UTF8.GetBytes




10.消费者

消费者从消息队列中监听消息 ,要保持持续连接

代码:

注意:



  1. 流程还是建立连接-》创建信道-》定义队列=》
  2. 因为可能先启动消费者,所以队列也需要进行声明 一下。
  3. 在使用队列时,要保证队列必须存在。

运行效果

RabbitMQ入门学习系列(二),单生产者消费者_erlang_10



标签:入门,生产者,代码,RabbitMQ,server,队列,vs,安装
From: https://blog.51cto.com/u_15834343/5887049

相关文章

  • centos7安装rabbitmq3.9.16
    下载erlangwget--content-disposition--no-check-certificatehttps://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.......
  • 导数入门指北
    一,极限1.极限的定义如果一个变量\(y\)能够无限趋近于一个常量\(a\),那么就可以说\(y\)的极限是\(a\)。无限趋近是指:\(y\)在变化过程中不断逼近\(a\),且\(|y-......
  • Python入门(11)——文件和异常
    在开发中经常要对数据进行持久化操作,实现数据持久化最直接的方式就是将数据保存到文件中。在Python中实现文件的读写操作非常简单,通过Python内置的函数,就可以获得操作文......
  • Linux基础-Vim(一)入门和常用命令
    ps:这是本公众号第一篇推文,小白第一次写作,希望大家支持,如有错误,望批评指正。在所有的UNIX-Like系统中都会内建vi文本编辑器,vi是老式的文本编辑器,其他的文本编辑器则不一定会......
  • Python入门(9)——函数
    函数是带名字的代码块,用于完成特定的任务,当在程序中多次执行同一任务时,无需反复编写重复的代码块,只需调用执行该任务的函数即可。函数的声明    在Python中使用 def ......
  • Python入门(10)——类
    在Python中,一切都是对象,对象是类的实例,类是对象的蓝图和模板。类是一个抽象的概念,对象是一个类具体的实例。每个对象都有属性和行为,它们都是独一无二的,而且对象一定属于某个......
  • Python入门(8)——集合
    集合的创建    集合是由不重复元素组成的无序容器。创建集合用 {} 大括号或 set() 函数。注意,创建空集合只能用 set() ,不能用 {} , {} 创建的是空字典。......
  • Python入门(7)——元组与字典
    元组元组的定义    不可修改的列表称为元组。元组定义与列表定义的区别在于列表使用 [] 标识,而元组使用 () 标识。严格地说,元组是由逗号 , 标识的,圆括号只是让......
  • Python入门(5)——分支与循环
    使用功能更强大的IDEPyCharm是一款功能强大的Python编辑器,具有跨平台性。学习分支语句及循环语句,为了我们调试方便,我们后期选择使用PyCharm,PyCharm可以直接到官网下载......
  • Python入门(6)——列表
    列表的定义列表是由一系列按特定顺序排列的元素组成。列表可以包含不同类型的元素。列表内元素的值可以重复。列表通常用单词名称的复数表示。列表用方括号 [] 表示,元素......