是否可以使用RabbitMQ主题交换来实现以下场景。
假设我有两个队列:
Queue1:路由密钥MainRoute.Route1
队列2:路由密钥MainRoute.Route2
当我使用路由键发布消息时:
MainRoute.Route1 - >队列1
MainRoute.Route2 - >队列2
MainRoute - > Queue1和Queue2
是否有可能在不实施某些特殊过滤,路由过程的情况下实现这一目标?
如果没有,请告知可能的问题解决方案。
谢谢。
答案 0 :(得分:0)
这可以通过直接或主题交换来完成,并且在您的交换中需要4个绑定。
假设以名为“MainEx”的交易所为例,路由密钥将设置如下:
| exchange | binding | queue | | -------- | ---------------- | ------ | | MainEx | MainRoute.Route1 | Queue1 | | MainEx | MainRoute.Route2 | Queue2 | | MainEx | MainRoute | Queue1 | | MainEx | MainRoute | Queue2 |
通过主题交换,您可以使用标志将多条消息发送到单个队列。例如,将“MainRoute。#”绑定到“Queue3”会将所有 MainRoute消息发送到Queue3。
但是,单一绑定无法做到相反的事情。您需要创建多个绑定来执行您想要的操作。