【发布时间】:2018-01-24 12:09:02
【问题描述】:
RabbitMQ 允许基于 routing_key 匹配在多个队列上分发消息。对于 type='topic' 的交换,可以指定允许更灵活过滤的通配符(比 type='direct' 交换的情况),它们是:
* (star) can substitute for exactly one word.
# (hash) can substitute for zero or more words.
例如,对于具有 routing_key='A.B.*' 的队列,交换将推送所有带有模式 'A.B.A'、'A.B.1'、'A.B.XXX' 等的 routing_key 的消息。
在我的用例中,我需要两个队列绑定到同一个交换器,一个队列接收所有带有 routing_key='A.B.A' 的消息,另一个队列接收所有其他与“A.B.A”不匹配的消息。为第一个队列做这件事没什么大不了,但我在教程中找不到任何可以帮助我处理第二个队列的东西......
请在 python + pika 库中提供一个示例。
【问题讨论】: