RabbitMq主题交换

本文关键字:交换 RabbitMq | 更新日期: 2023-09-27 18:09:27

使用RabbitMQ主题交换是否可以实现以下场景

假设我有两个队列:

Queue1:路由关键字MainRoute。Route1

Queue2:路由键MainRoute。Route2

当我用路由密钥发布消息时:

MainRoute。Route1 -> Queue1

MainRoute。Route2 -> Queue2

MainRoute -> Queue1和Queue2

如果不实现一些特殊的过滤、路由过程,是否有可能实现这一点?

如果不是,请给出一个可能的解决方案。

谢谢。

RabbitMq主题交换

这可以通过直接交换或主题交换完成,并且在交换中需要4个绑定。

假设一个名为"MainEx"的交换器为例,路由密钥将这样设置:

<>之前exchange/binding/queue/| -------- | ---------------- | ------ |MainEx | MainRoute。Route1 | Queue1 |MainEx | MainRoute。Route2 | Queue2 |MainEx | MainRoute | Queue1 |MainEx | MainRoute | Queue2 |之前

使用主题交换,您可以通过使用标志向单个队列发送多个消息。例如,绑定"MainRoute"。#" to "Queue3"将发送所有 MainRoute消息到Queue3。

但是,没有办法用单个绑定来做相反的事情。你需要创建多个绑定来做你想做的事情。