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(广播模式)相关推荐

  1. RabbitMQ fanout广播模式

    一.消息公平分发 如果Rabbit只管按顺序把消息发到各个消费者身上,不考虑消费者负载的话,很可能出现,一个机器配置不高的消费者那里堆积了很多消息处理不完,同时配置高的消费者却一直很轻松.为解决此问题 ...

  2. rabbitmq direct reply-to 在springAMQP和python之间的使用

    背景 公司的一个项目使用rabbitmq作为broker进行交互,并且数据的查询方法使用RPC模式,RPC Client端使用java编写并使用springAMQP包与rabbitmq交互,在RPC ...

  3. c#服务器后端_C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    1:RabbitMQ是个啥?(专业术语参考自网络) RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ服务器是用Erlang语言编写的, ...

  4. 刚安装的python如何使用-python中RabbitMQ的使用(安装和简单教程)

    1,简介 RabbitMQ(Rabbit Message Queue)是流行的开源消息队列系统,用erlang语言开发. 1.1关键词说明: Broker:消息队列服务器实体. Exchange:消息 ...

  5. Python实现RabbitMQ中6种消息模型(转)

    RabbitMQ与Redis对比 ​ RabbitMQ是一种比较流行的消息中间件,之前我一直使用redis作为消息中间件,但是生产环境比较推荐RabbitMQ来替代Redis,所以我去查询了一些Rab ...

  6. python rabitmq_3、Python结合RabbitMQ实现消息传递

    Python使用RabbitMQ 接下来就使用Python来简单的对以下几种队列类型进行一部分的操作,主要是为了更加容易去理解它,站在开发的角度去看待RabbitMQ: 创建访问用户 # 创建一个cc ...

  7. python操作rabbitmq操作数据

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 ##一.RabbitMQ 消息队列介绍 RabbitMQ也是消息队列,那RabbitMQ和之前python的Queue有什么区别么? py 消息队列: ...

  8. Python中RabbitMQ的使用

    Python中RabbitMQ的使用 文章目录 Python中RabbitMQ的使用 一.AMQP协议 1.工作过程 2.细节问题 3.Exchange交换机 主题交换机: 4.Queue队列 5.C ...

  9. python操作RabbitMQ

    RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现的产品,RabbitMQ是一个消息代理,从"生产者" ...

  10. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ

    什么是RabbitMQ 1.1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. ⚫ MQ,消息队列,存储消息的中间件 ⚫ ...

最新文章

  1. 你不知道的shell用法和脚本,简单强大
  2. apache2.4配置虚拟主机
  3. 详细分析内部类的发生内存泄漏的原因
  4. 【android】如何让WebView对Video标签的支持更强力
  5. 智能家居 (3) ——智能家居工厂模式介绍实现继电器控制灯
  6. epoll为什么比select和poll效率更高
  7. Neginx服务搭建
  8. vue项目原理分析-2:路由
  9. 团队代码规范java,java 开发,适用于团队的代码规范及某些约定
  10. velocity mybatis spring 在maven的整合开发(四)
  11. Practice:Demonstrating the Key TCP/IP Protocols
  12. mysql文件扩展名查询_如何通过MySQL查询获取文件的文件扩展名?
  13. 关于android:layout_weight
  14. 计算机桌面工具栏出现闪烁,电脑任务栏一直闪怎么办
  15. YOLOv3原理详解(绝对通俗易懂)2021-07-01
  16. 【原】使用IPV6,nbsp;10M/s高速BT互传…
  17. RouterOS 端口映射
  18. r语言和python爬虫谁厉害_r语言和python有必要都学吗
  19. [匈牙利算法] 洛谷 P1640 连续攻击
  20. EXCHANGE 2016证书续期

热门文章

  1. chmod命令的用法
  2. 分寸:切记别把话说得太死 — 《别输在不会表达上》
  3. Web — 选择器+浮动+清除
  4. Android studio如何打包APK文件
  5. 创建虚拟文件系统设备文件节点_使用proc_create实例分析
  6. python 粘包问题
  7. DEV控件ASPxTextBox设置ClientEnabled=false之后出现的问题
  8. js正则及常用方法函数总结
  9. HTMLCSS学习笔记(三)----标签类型转换、样式重置
  10. java新手笔记7 找最小、最大、排序