【发布时间】:2019-08-03 18:10:30
【问题描述】:
我在我的项目中使用 RabbitMQ,我想知道我应该使用具有多个路由键的单个交换还是使用多个交换?哪个效率更高?
例如,如果我使用带有路由键 A、B、C 的单个交换 E 并且消费者连接到该交换 E 并使用 A、B、C 路由键获取数据。另一种选择是我应该将它发送到没有路由密钥的交换 A、交换 B、交换 C,并且消费者可以连接到每个交换以获取所需的数据。
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)
【问题讨论】:
-
您想直接交换并绑定到队列 A、B、C?
-
为什么不运行基准测试并亲自查看?
标签: rabbitmq pika rabbitmq-exchange