RabbitMQ消息队列
Posted tfzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ消息队列相关的知识,希望对你有一定的参考价值。
RabbitMQ
1.什么是rabbitmq
在生产者和消费者之间加了一个中间件——消息队列,用它可以来干嘛呢?
它是来做消息转发的,当请求过来之后,不是直接发给服务器,而是发给消息队列,然后消息队列把消息中转一下再发给服务器
2.作用
- 存储消息、数据
- 保证消息的顺序
- 保证数据的正确交付
3.rabbitmq安装
安装rabbitmq之前先安装erlang
1.网址选择下载软件
2.安装一直下一步即可
4.安装erlang
1.网址下载
2.安装一直下一步即可
python使用rabbitmq
https://www.rabbitmq.com/install-windows.html
1.安装pika
#pika是python操作rabbitmq的模块
pip3 install pika
2.生产者代码
import pika #1.链接到rabbitmq connection = pika.BlockingConnection(pika.ConnectionParameters(‘localhost‘)) channel = connection.channel() #2.创建消息队列并命名 channel.queue_declare(queue=‘hello‘) #3.发送消息 channel.basic_publish(exchange=‘‘, routing_key=‘hello‘, #消息队列名 body=‘Hello World!‘) #要发送的消息 print(" [x] Sent ‘Hello World Done!‘") #4.关闭链接 connection.close()
3.消费者代码
import pika #1.链接rabbitmq代码 connection = pika.BlockingConnection(pika.ConnectionParameters(‘localhost‘)) channel = connection.channel() #2.队列名 channel.queue_declare(queue=‘hello‘) #3.回调函数:body:要接受的数据为二进制字符串 def callback(ch, method, properties, body): print(" [x] Received %r" % body) channel.basic_consume(queue=‘hello‘, #队列名 auto_ack=True, #告诉消费者已经拿到了数据 on_message_callback=callback) #回调函数 print(‘ [*] Waiting for messages. To exit press CTRL+C‘) #4 channel.start_consuming()
4.运行
生产者cmd窗口
python3 生产者文件名.py
消费者cmd窗口2
python3 消费者者文件名.py
以上是关于RabbitMQ消息队列的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQ学习笔记五:RabbitMQ之优先级消息队列
RabbitMQ:第二章:Spring整合RabbitMQ(简单模式,广播模式,路由模式,通配符模式,消息可靠性投递,防止消息丢失,TTL,死信队列,延迟队列,消息积压,消息幂等性)(代码