两个队列绑定到具有以下路由键的主题交换:
队列 A,与路由键模式匹配绑定*.foo
队列 B,与路由键模式匹配绑定*.bar
我想向此交换添加第三个队列,该队列接收的消息都不是foo
消息也不bar
消息。如果我用一个绑定这个队列#
路由密钥,我自然会得到我需要的所有消息,但包括foo
's and bar
这是我不想要的。
任何路由消息修补模式的方法NOT *.foo
AND NOT *.bar
?
如果您想捕获与任何绑定不匹配的所有消息,可以使用替代交换 http://www.rabbitmq.com/ae.html.
为现有交换添加备用交换并收集来自该备用交换的所有消息:
standard workflow --> [main exchange (topic)]
| --> via binding *.foo --> [foo queue]
| --> via binding *.bar --> [bar queue]
v
[alternate exchange (let it be topic too)]
--> via binding * --> []
对于更具体的情况,当您有 N 个绑定但您想要捕获与 M 个绑定(其中 M 死信交换然后将其发布到只有 M 绑定的自定义交换,然后将案例应用于备用交换。但它甚至听起来很生疏,甚至不用考虑性能下降(仅当您的消息流非常高时才应用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)