RabbitMq主题交换
本文关键字:交换 RabbitMq | 更新日期: 2023-09-27 18:09:27
使用RabbitMQ主题交换是否可以实现以下场景
假设我有两个队列:
Queue1:路由关键字MainRoute。Route1
Queue2:路由键MainRoute。Route2
当我用路由密钥发布消息时:
MainRoute。Route1 -> Queue1
MainRoute。Route2 -> Queue2
MainRoute -> Queue1和Queue2
如果不实现一些特殊的过滤、路由过程,是否有可能实现这一点?
如果不是,请给出一个可能的解决方案。
谢谢。
这可以通过直接交换或主题交换完成,并且在交换中需要4个绑定。
假设一个名为"MainEx"的交换器为例,路由密钥将这样设置:
<>之前exchange/binding/queue/| -------- | ---------------- | ------ |MainEx | MainRoute。Route1 | Queue1 |MainEx | MainRoute。Route2 | Queue2 |MainEx | MainRoute | Queue1 |MainEx | MainRoute | Queue2 |之前使用主题交换,您可以通过使用标志向单个队列发送多个消息。例如,绑定"MainRoute"。#" to "Queue3"将发送所有 MainRoute消息到Queue3。
但是,没有办法用单个绑定来做相反的事情。你需要创建多个绑定来做你想做的事情。