两个队列绑定到具有下列路由键的主题交换:
队列A,与路由密钥模式匹配*.foo绑定
队列B,与路由密钥模式匹配*.bar绑定
我想在这个交换中添加第三个队列,它接收既不是foo消息也不是bar消息的消息。如果我用#路由密钥绑定这个队列,我自然会得到我需要的所有消息,但包括我不想要的foo和bar。
有没有办法路由修补模式NOT *.foo和NOT *.bar的消息?
发布于 2015-02-05 20:04:41
如果您想捕获与任何绑定不匹配的所有消息,可以使用交替交换完成。
为已存在的交换添加备用交换,并收集该备用交换的所有消息:
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< N)的更具体情况,这更有问题,但技术上可以通过死信交换完成,然后将其发布到只有M绑定的自定义交换中,然后应用于备用Exchange。但是这听起来甚至是生疏的,甚至不考虑性能下降(只有当您有非常高的消息流时才适用)。
https://stackoverflow.com/questions/28351469
复制相似问题