工作队列直接发布到Q(不是Exchange)

时间:2016-05-13 18:24:26

标签: rabbitmq

此处的工作队列示例:

https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html

在工作队列方案中,为什么要将消息发布到队列而不是Exchange?

channel.BasicPublish(exchange: "",
                     routingKey: "task_queue",
                     basicProperties: properties,
                     body: body);

1 个答案:

答案 0 :(得分:0)

因为当您将路由密钥提供给“” - 无名交换(因此您实际上总是发布到交换机)时,该路由密钥“实际上”是队列名称。 以下是tutorial 3的引用:

  

无名交换

     

在本教程的前几部分中,我们对交换一无所知,但是   仍然能够向队列发送消息。这是可能的,因为   我们使用默认交换,我们通过空进行识别   string(“”)。

     

回想一下我们之前是如何发布消息的:

{{1}}
     


第一个参数是交易所的名称。空字符串表示默认或无名交换:消息被路由到队列,其名称由   routingKey,如果它存在。