Py学习  »  MQ

RabbitMQ中一个具有多个路由密钥的交换或多个有效交换

Tushar Seth • 4 年前 • 890 次点击  

我在我的项目中使用RabbitMQ,想知道是应该使用带有多个路由密钥的单个交换还是使用多个交换?哪个更有效?

python的库pika(我目前正在使用)的一个示例:

channel.basic_publish(exchange='E',
                      routing_key='A',
                      body=data)  
channel.basic_publish(exchange='E',
                      routing_key='B',
                      body=data)  
channel.basic_publish(exchange='E',
                      routing_key='C',
                      body=data)

OR

channel.basic_publish(exchange='A',
                      routing_key='',
                      body=data)  
channel.basic_publish(exchange='B',
                      routing_key='',
                      body=data)  
channel.basic_publish(exchange='C',
                      routing_key='',
                      body=data)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55506
 
890 次点击  
文章 [ 1 ]  |  最新文章 4 年前
bumblebee
Reply   •   1 楼
bumblebee    5 年前

你可以继续你的第一个方法。宣布 exchange Direct Exchange ,它需要 queue 名称为 routing key . 一个 能够将自身绑定到多个队列。此外,交换的任务是将消息路由到队列。绑定多个队列不会降低RabbitMQ的效率。