先决条件
本教程假定RabbitMQ已经安置,并运行在localhost标准端口(5672)。如果你使用差此外主机、端口或证书,则需要调解连接设置。
从哪里获得辅佐
如果您在阅读本教程时遇到困难,可以通过邮件列表。
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() { ... } }