您的位置:

RabbitMQ下载安装教程

一、RabbitMQ安装教程

RabbitMQ是一个开源的消息代理(message broker)软件,它跑在服务器上,通过消息队列来实现应用程序之间的解耦。下面是RabbitMQ的安装教程。

1.安装Erlang

在安装RabbitMQ之前,需要先安装Erlang,官网下载地址为 https://www.erlang-solutions.com/resources/download.html 。

在下载页面,选择相应的操作系统版本,如Windows系统的安装包:otp_win64_23.2.exe,双击安装即可。

2.安装RabbitMQ

官方网站下载地址为https://www.rabbitmq.com/download.html 。在下载页面中,选择适合自己操作系统的版本进行下载。在Windows系统中,下载 rabbitmq-server-windows-x86-3.8.9 。

安装时要注意要选择自己的操作系统,以及64位或32位版本,直接双击安装包,一路“下一步”即可。

3.启动RabbitMQ

RabbitMQ 的安装完成后,就可以启动RabbitMQ了。在Windows系统中,点击“开始菜单” -> “RabbitMQ” -> “RabbitMQ Command Prompt”即可启动。

4.通过Web管理界面访问RabbitMQ

可以打开浏览器,输入 http://localhost:15672/ 访问RabbitMQ的 Web管理界面(默认端口号为15672),用户名和密码默认均为guest。

二、RabbitMQ教程

1.消息队列

消息队列是一种跨进程、跨平台的通讯机制,可以让一个应用程序向另一个应用程序或多个应用程序发送消息。这样就可以把系统拆分成多个独立的组件,各组件之间通讯通过消息队列来完成。

2.消息模型

RabbitMQ使用了消息模型,这个消息模型称为AMQP(Advanced Message Queuing Protocol,高级消息队列协议)。AMQP中,有4个概念:Exchange、Queue、Binding和Routingkey。

3.消息发送

RabbitMQ发送消息是通过将消息发送给一个Exchange(交换器)来实现转发的。而Exchange则根据Binding(绑定)将消息路由到对应的Queue(队列)中。使用默认的Exchange和Queue,我们可以通过命令行发送消息。

//发送消息
$ rabbitmqadmin publish exchange=amq.default routing_key=my_queue payload="hello, world"

//接收消息
$ rabbitmqadmin get queue=my_queue

三、RabbitMQ安装详细教程

1.为什么要安装RabbitMQ?

RabbitMQ是一种优秀的消息代理系统,适用于分布式系统架构之间的通信。它可以帮助系统之间实现解耦,保证数据的可靠性。其应用场景如下:

  • 异步任务处理
  • 跨服务协作
  • 流量控制
  • 分布式事务

2.准备工作

在安装RabbitMQ之前,需要先安装Erlang,请先按照上面的步骤进行安装。

3.安装RabbitMQ

访问RabbitMQ的官方网站 https://www.rabbitmq.com/download.html ,根据自己的操作系统进行下载。

在Windows系统中,下载 rabbitmq-server-windows-x86-3.8.9.exe 。

下载完成后,双击安装包进行安装。在过程中,按默认选项一路“下一步”即可。

4.配置环境变量

在Windows系统中,默认情况下是没有将RabbitMQ的安装路径添加到环境变量中的。因此,我们需要在环境变量中手动添加RabbitMQ的安装路径。

首先找到RabbitMQ的安装路径,如下所示:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9

然后打开“开始菜单” -> “计算机”,右键“属性”,在“高级系统设置”中选择“环境变量”,在用户变量中找到“Path”选项,添加RabbitMQ的安装路径。

添加完成后,按下“确定”即可。

5.启动RabbitMQ

打开命令行窗口,输入下面的命令以启动RabbitMQ。

C:\>rabbitmq-server -detached

上面的命令会以守护进程的方式启动RabbitMQ。

6.访问RabbitMQ Web管理界面

通过浏览器来访问 RabbitMQ 的 Web管理界面。

打开浏览器,输入http://localhost:15672/ ,进入管理界面。用户名和密码默认为guest。

7.停止和卸载RabbitMQ

停止RabbitMQ可以通过以下命令来实现。

C:\>rabbitmqctl stop

卸载RabbitMQ可以直接从计算机中删除rabbitmq_server-3.8.9文件夹即可。

四、RabbitMQ的使用

1.消息生产者

RabbitMQ的消息生产者代码示例如下。

import pika

# 创建连接和通道
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# 声明exchange
channel.exchange_declare(exchange='direct_logs', exchange_type='direct')

# 发送消息
channel.basic_publish(exchange='direct_logs', routing_key='info', body='Hello World!')

# 关闭连接
connection.close()

2.消息消费者

RabbitMQ的消息消费者代码示例如下。

import pika

# 创建连接和通道
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# 声明exchange
channel.exchange_declare(exchange='direct_logs', exchange_type='direct')

# 声明随机队列
result = channel.queue_declare('', exclusive=True)
queue_name = result.method.queue

# 绑定队列和exchange
channel.queue_bind(exchange='direct_logs', queue=queue_name, routing_key='info')

# 定义回调函数,用于接收消息
def callback(ch, method, properties, body):
    print("Received %r" % body)

# 开始接收消息
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)

# 等待消息
channel.start_consuming()