【问题标题】:RabbitMQ Exchange with catch allRabbitMQ Exchange 与全部捕获
【发布时间】:2016-12-01 17:38:33
【问题描述】:

在给定的rabbitmq中

  • 交流
  • 两个队列分别命名为defaultspecific
  • 两个路由键 all.specificall.*

采用以下方案

我试图实现以下(没有成功)

  • 如果带有路由键“all.specific”的消息到达,则必须将其路由到特定队列

  • 如果带有路由键“all.generic”的消息到达,则必须将其路由到默认队列

我尝试了两种不同的方法

1) 交换类型“直接”

我无法在路由键中使用通配符,因此我无法路由“all.generic”、“all.another_generic”和许多其他传入消息

2) 交换类型“主题”

它将 'all.generic'、'all.another_generic' 路由到默认队列,但 'all.specific' 到达两个队列,所以我只希望到达特定队列。

我认为我以错误的方式使用了交换和队列,但我不明白如何以正确的 rabbitmq 方式实现它。 你能帮帮我吗?

【问题讨论】:

    标签: routing rabbitmq


    【解决方案1】:

    在绑定和路由键中找不到您最好的选择。

    我会考虑替代交换。

    https://www.rabbitmq.com/ae.html

    使用 AE,您基本上可以对与发布它的交换中的绑定之一不匹配的任何消息进行“包罗万象”交换。

    在您的情况下,您的交换将只有 all.specific 绑定来将消息发送到 specific 队列。

    备用交换将消息直接传递到generic 队列。这可以通过主题来完成,以重用相同的路由键。或者它可以作为一个扇出交换来完成,并且只绑定一个队列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 2016-12-02
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      相关资源
      最近更新 更多