RabbitMQ 是一个开源的消息队列,用于在分布式系统中进行消息传递。本教程将带您了解如何使用 RabbitMQ。
安装 RabbitMQ
首先,您需要在您的机器上安装 RabbitMQ。您可以通过以下步骤进行安装:
- 下载 RabbitMQ 安装包。
- 运行安装包进行安装。
- 启动 RabbitMQ 服务。
更多安装指南,请访问官方文档。
基本概念
交换机 (Exchange)
交换机是消息传递的核心组件。生产者将消息发送到交换机,交换机根据路由键将消息发送到队列。
队列 (Queue)
队列是存储消息的容器。消息从交换机传递到队列,然后由消费者从队列中取出消息。
路由键 (Routing Key)
路由键是交换机用于将消息路由到特定队列的键值。
消费者 (Consumer)
消费者是从队列中取出消息并处理它们的进程。
示例
以下是一个简单的示例,展示如何使用 RabbitMQ:
# 生产者代码
import pika
# 连接到 RabbitMQ 服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 创建交换机
channel.exchange_declare(exchange='logs', exchange_type='fanout')
# 发送消息
channel.basic_publish(exchange='logs', routing_key='', body='Hello World!')
print(" [x] Sent 'Hello World!'")
# 关闭连接
connection.close()
# 消费者代码
import pika
# 连接到 RabbitMQ 服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 创建队列
channel.queue_declare(queue='hello')
# 定义回调函数
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
# 消费消息
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
更多示例,请访问官方示例。
图片
RabbitMQ Logo