rabbitmq使用
Posted zunfengliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq使用相关的知识,希望对你有一定的参考价值。
1.rabbitmq使用
- 目的: 可以下载镜像,使用rabbitmq
- 操作流程:
1,RabbitMQ介绍
-
消息队列是消息在传输的过程中保存消息的容器。
-
现在主流消息队列有:
RabbitMQ
、ActiveMQ
、Kafka
等等。 -
RabbitMQ和ActiveMQ比较:
-
系统吞吐量:RabbitMQ好于ActiveMQ 持久化消息:RabbitMQ和ActiveMQ都支持 高并发和可靠性:RabbitMQ好于ActiveMQ
-
-
RabbitMQ和Kafka:
-
系统吞吐量:RabbitMQ弱于Kafka 可靠性和稳定性:RabbitMQ好于Kafka比较 设计初衷:Kafka是处理日志的,是日志系统,所以并没有具备一个成熟RabbitMQ应该具备的特性。
-
2,使用流程:
-
1, 拉取镜像
-
docker pull rabbitmq:3-management
-
-
2, 创建容器
docker run -d --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 --name myrabbitmq -p 35672:5672 -p 35673:15672 rabbitmq:3-management
-
3, 浏览器访问
172.16.12.134:35672
-
4, 代码测试
rabbitma_customer -
-
import pika # 链接到rabbitmq服务器 credentials = pika.PlainCredentials(‘admin‘, ‘123456‘) connection = pika.BlockingConnection(pika.ConnectionParameters(‘localhost‘,35672,‘/‘,credentials)) # 创建频道,声明消息队列 channel = connection.channel() channel.queue_declare(queue=‘zxc‘) # 定义接受消息的回调函数 def callback(ch, method, properties, body): print(body) # 告诉RabbitMQ使用callback来接收信息 channel.basic_consume(callback, queue=‘zxc‘, no_ack=True) # 开始接收信息 channel.start_consuming()
rabbitma_customer
-
import pika # 链接到RabbitMQ服务器 credentials = pika.PlainCredentials(‘admin‘, ‘123456‘) connection = pika.BlockingConnection(pika.ConnectionParameters(‘localhost‘,35672,‘/‘,credentials)) #创建频道 channel = connection.channel() # 声明消息队列 channel.queue_declare(queue=‘zxc‘) # routing_key是队列名 body是要插入的内容 channel.basic_publish(exchange=‘‘, routing_key=‘zxc‘, body=‘Hello RabbitMQ!‘) print("开始向 ‘zxc‘ 队列中发布消息 ‘Hello RabbitMQ!‘") # 关闭链接 connection.close()
-
-
注意点:
-
运行测试代码需要安装pip install pika==0.13.1
-
以上是关于rabbitmq使用的主要内容,如果未能解决你的问题,请参考以下文章