【问题标题】:RabbitMQ routing behaviorRabbitMQ 路由行为
【发布时间】:2016-12-18 21:28:08
【问题描述】:

我正在尝试通过 RabbitMQ 将消息发布到 2 个不同的队列,但事情的表现并不像我预期的那样,这是详细信息:

我有一个exchange:amq.fanout,type:fanout,绑定的是Queue:Q1,Routing key:key1,Queue:Q2,Routing key:key2。

在我的客户端,我有这段代码

var model = connection.CreateModel(); model.ExchangeDeclare("amq.fanout", "fanout", true); model.BasicPublish("amq.fanout", "key1", null, body);

我打算将正文发布到 Q1,因为它有 key1 作为路由键,但是 Q1 和 Q2 都收到了正文,我的代码或服务器配置有什么问题吗?

【问题讨论】:

    标签: c# rabbitmq rabbitmq-exchange


    【解决方案1】:

    无论使用的路由键或绑定如何,扇出交换将始终向每个绑定队列传递消息。路由键在扇出交换中被完全忽略。

    根据您的需求描述,您正在寻找的不是扇出交换。

    如果要根据使用的路由键将消息传递到特定队列,则需要使用直接交换(用于路由键的简单匹配)或主题交换(用于路由键的复杂模式匹配) )

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2013-09-06
      • 1970-01-01
      相关资源
      最近更新 更多