让我们生成两个项目

时间:2021-07-09 04:00:57

先决条件
本教程假定RabbitMQ已经安置,并运行在localhost标准端口(5672)。如果你使用差此外主机、端口或证书,则需要调解连接设置。

从哪里获得辅佐
如果您在阅读本教程时遇到困难,可以通过邮件列表。

1.介绍

RabbitMQ是一个动静代办代理:它接受并转动员静。您可以把它想象成一个邮局:当您将需要寄出的邮件投递到邮箱,您可以确定的是邮差先生最终会将邮件送给您的收件人。在这个比方中,RabbitMQ就是一个邮箱,也可以理解成邮局和邮递员。

RabbitMQ和邮局的主要区别在于它不措置惩罚惩罚纸张,而是接收、存储和转发二进制数据块 - 动静

RabbitMQ和动静通报凡是使用一些术语。

出产的意思无非就是发送。发送动静的措施就是一个出产者

行列队伍就是RabbitMQ内部“邮箱”的名称。虽然动静流经RabbitMQ和您的应用措施,但它们只能存储在行列队伍中。行列队伍只受主机的内存和磁盘的限制,它素质上就是一个很大的动静缓冲区。多个出产者可以发送动静到一个行列队伍,并且多个消费者可以测验考试从一个行列队伍接收数据。这就是我们代表行列队伍的方法:

消费与接收有相似的含义。主要期待接收动静的措施就是一个消费者

注意:出产者、消费者和中间件不是必需部署在同一主机上,实际上在大大都应用措施中它们不是。

2."Hello World" 2.1.使用.NET / C#客户端

在教程的这一部分,我们将用C#编写两个措施:一个发送单条动静的出产者,以及接收动静并将其打印出来的消费者。我们将忽略.NET客户端API中的一些细节,专注于更简单的开始。这是一个动静通报的“Hello World”。

不才图中,“P”是我们的出产者,“C”是我们的消费者。中间的盒子是行列队伍 - RabbitMQ代表消费者生存的动静缓冲区。

.NET客户端库
RabbitMQ撑持多种协议,本教程使用AMQP 0-9-1,它是一种开放的、通用的动静通报协议。RabbitMQ供给了一些针对差别语言环境的客户端,我们将使用RabbitMQ供给的.NET客户端。

客户端撑持.NET Core以及.NET Framework 4.5.1+。本教程将使用.NET Core,因此您需要确保客户端已安置并且路径添加到PATH系统变量。

您也可以使用.NET Framework来完本钱教程,,但设置法式会有所差别。

RabbitMQ .NET客户端5.0及更高版本通过nuget颁布。

本教程假定您在Windows上使用PowerShell。在MacOS和Linux上,几乎所有shell也都可以正常事情。

2.2.安置

首先让我们验证您在PATH系统变量是否有.NET Core工具链:

dotnet --help

应该孕育产生辅佐信息。

此刻,让我们生成两个项目,一个用于颁布者,另一个用于消费者:

dotnet new console --name Send mv Send/Program.cs Send/Send.cs dotnet new console --name Receive mv Receive/Program.cs Receive/Receive.cs

这将创建两个名为Send和Receive的新目录。

然后,我们添加客户端依赖项。

cd Send dotnet add package RabbitMQ.Client dotnet restore cd ../Receive dotnet add package RabbitMQ.Client dotnet restore

我们已经成立了.NET项目,此刻我们可以编写一些代码。

2.3.发送

我们将挪用我们的动静颁布者(发送者)Send.cs和我们的动静消费者(接收者)Receive.cs。颁布者将连接到RabbitMQ,发送一条动静,然撤退退却出。

在Send.cs中,我们需要使用一些定名空间:

using System; using RabbitMQ.Client; using System.Text;

设置类:

class Send { public static void Main() { ... } }