python direct_Python-RabbitMQ-direct(广播模式)
direct绑定模式的,选择性接收
生产者:direct_publiser.py
import pika,sys
connection = pika.BlockingConnection(pika.ConnectionParameters("localhost"))
channel = connection.channel()
channel.exchange_declare(exchange='direct_logs',
exchange_type='direct')
severity = sys.argv[1] if len(sys.argv) > 1 else 'info' #级别
message = ' '.join(sys.argv[2:]) or 'Hello World!'#消息
channel.basic_publish(exchange='direct_logs',
routing_key=severity,
body=message)
print(' [x] Sent %r:%r' % (severity, message))
connection.close()
消费者:direct_consumer.py
import pika,sys
connection = pika.BlockingConnection(pika.ConnectionParameters("localhost"))
channel = connection.channel()
channel.exchange_declare(exchange='direct_logs',
exchange_type='direct')
result = channel.queue_declare(exclusive=True)
queue_name = result.method.queue#获取queue名字
severities = sys.argv[1:]
if not severities:
sys.stderr.write("Usage: %s [info] [warning] [error]\n" % sys.argv[0])
sys.exit(1)
for severity in severities:
channel.queue_bind(exchange='direct_logs',
queue=queue_name,
routing_key=severity)
print(' [*] Waiting for logs. To exit press CTRL +C')
def callback(ch, method, properties,body):
print("[x] %r:%r" % (method.routing_key, body))
channel.basic_consume(callback,
queue=queue_name,
no_ack=True)
channel.start_consuming()
python direct_Python-RabbitMQ-direct(广播模式)相关推荐
- RabbitMQ fanout广播模式
一.消息公平分发 如果Rabbit只管按顺序把消息发到各个消费者身上,不考虑消费者负载的话,很可能出现,一个机器配置不高的消费者那里堆积了很多消息处理不完,同时配置高的消费者却一直很轻松.为解决此问题 ...
- rabbitmq direct reply-to 在springAMQP和python之间的使用
背景 公司的一个项目使用rabbitmq作为broker进行交互,并且数据的查询方法使用RPC模式,RPC Client端使用java编写并使用springAMQP包与rabbitmq交互,在RPC ...
- c#服务器后端_C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)
1:RabbitMQ是个啥?(专业术语参考自网络) RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ服务器是用Erlang语言编写的, ...
- 刚安装的python如何使用-python中RabbitMQ的使用(安装和简单教程)
1,简介 RabbitMQ(Rabbit Message Queue)是流行的开源消息队列系统,用erlang语言开发. 1.1关键词说明: Broker:消息队列服务器实体. Exchange:消息 ...
- Python实现RabbitMQ中6种消息模型(转)
RabbitMQ与Redis对比 RabbitMQ是一种比较流行的消息中间件,之前我一直使用redis作为消息中间件,但是生产环境比较推荐RabbitMQ来替代Redis,所以我去查询了一些Rab ...
- python rabitmq_3、Python结合RabbitMQ实现消息传递
Python使用RabbitMQ 接下来就使用Python来简单的对以下几种队列类型进行一部分的操作,主要是为了更加容易去理解它,站在开发的角度去看待RabbitMQ: 创建访问用户 # 创建一个cc ...
- python操作rabbitmq操作数据
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 ##一.RabbitMQ 消息队列介绍 RabbitMQ也是消息队列,那RabbitMQ和之前python的Queue有什么区别么? py 消息队列: ...
- Python中RabbitMQ的使用
Python中RabbitMQ的使用 文章目录 Python中RabbitMQ的使用 一.AMQP协议 1.工作过程 2.细节问题 3.Exchange交换机 主题交换机: 4.Queue队列 5.C ...
- python操作RabbitMQ
RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现的产品,RabbitMQ是一个消息代理,从"生产者" ...
- RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
什么是RabbitMQ 1.1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. ⚫ MQ,消息队列,存储消息的中间件 ⚫ ...
最新文章
- 你不知道的shell用法和脚本,简单强大
- apache2.4配置虚拟主机
- 详细分析内部类的发生内存泄漏的原因
- 【android】如何让WebView对Video标签的支持更强力
- 智能家居 (3) ——智能家居工厂模式介绍实现继电器控制灯
- epoll为什么比select和poll效率更高
- Neginx服务搭建
- vue项目原理分析-2:路由
- 团队代码规范java,java 开发,适用于团队的代码规范及某些约定
- velocity mybatis spring 在maven的整合开发(四)
- Practice:Demonstrating the Key TCP/IP Protocols
- mysql文件扩展名查询_如何通过MySQL查询获取文件的文件扩展名?
- 关于android:layout_weight
- 计算机桌面工具栏出现闪烁,电脑任务栏一直闪怎么办
- YOLOv3原理详解(绝对通俗易懂)2021-07-01
- 【原】使用IPV6,nbsp;10M/s高速BT互传…
- RouterOS 端口映射
- r语言和python爬虫谁厉害_r语言和python有必要都学吗
- [匈牙利算法] 洛谷 P1640 连续攻击
- EXCHANGE 2016证书续期