标签:持久化 style 声明 信息 rest mq服务器 需要 日志 rop
- 目的: 可以下载镜像,使用rabbitmq
- 操作流程:
消息队列是消息在传输的过程中保存消息的容器。
现在主流消息队列有:RabbitMQ
、ActiveMQ
、Kafka
等等。
RabbitMQ和ActiveMQ比较:
系统吞吐量:RabbitMQ好于ActiveMQ
持久化消息:RabbitMQ和ActiveMQ都支持
高并发和可靠性:RabbitMQ好于ActiveMQ
RabbitMQ和Kafka:
系统吞吐量:RabbitMQ弱于Kafka
可靠性和稳定性:RabbitMQ好于Kafka比较
设计初衷:Kafka是处理日志的,是日志系统,所以并没有具备一个成熟RabbitMQ应该具备的特性。
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
标签:持久化 style 声明 信息 rest mq服务器 需要 日志 rop
原文地址:https://www.cnblogs.com/zunfengliu/p/13839843.html