首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RabbitMQ主题交换中路由不匹配模式的消息

在RabbitMQ主题交换中路由不匹配模式的消息
EN

Stack Overflow用户
提问于 2015-02-05 18:33:57
回答 1查看 3.7K关注 0票数 6

两个队列绑定到具有下列路由键的主题交换:

队列A,与路由密钥模式匹配*.foo绑定

队列B,与路由密钥模式匹配*.bar绑定

我想在这个交换中添加第三个队列,它接收既不是foo消息也不是bar消息的消息。如果我用#路由密钥绑定这个队列,我自然会得到我需要的所有消息,但包括我不想要的foobar

有没有办法路由修补模式NOT *.fooNOT *.bar的消息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 20:04:41

如果您想捕获与任何绑定不匹配的所有消息,可以使用交替交换完成。

为已存在的交换添加备用交换,并收集该备用交换的所有消息:

代码语言:javascript
复制
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。但是这听起来甚至是生疏的,甚至不考虑性能下降(只有当您有非常高的消息流时才适用)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28351469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档