MassTransit何时路由新邮件?

时间:2015-07-24 15:01:46

标签: message-queue masstransit

更新:有问题的默认队列是我正在研究的MassTransit实施的一部分,将问题归咎于此。

据我了解MassTransit,当您发布消息时,消息首先会转到发布应用程序的默认队列。

只要消费者注册了该消息类型,MassTransit是否会立即将消息路由到相应的消息队列,还是等到该消费者的工作线程可用?

我想我真正想知道的是:是默认队列的瓶颈吗?

我正在使用带有MSMQ的MassTransit 2.7.0。

1 个答案:

答案 0 :(得分:1)

首先,您在谈论什么版本的MassTransit?第二,你使用什么交通工具?

如果您使用的是RabbitMQ,则会立即将消息发布到交易所。绑定到目标交换机的任何队列都将立即收到该消息的副本。如果没有绑定的队列,消息会像呼出气一样蒸发到大气中。

创建接收端点时,MassTransit会将端点队列绑定到与消耗的消息类型匹配的交换。例如,如果MessageA的使用者连接到接收端点,则会在MyNamespace.MessageA和为接收端点指定的input_queue之间创建绑定。还会创建一个与队列同名的中间交换,并且所有绑定都将通过该匹配交换。

  

这样可以轻松地点击队列,将传递到队列的每条消息的副本发送到另一个队列进行审核,诊断等。

如果您正在使用MSMQ,那么,这是一个不同的故事,而且由于MassTransit 3不支持MSMQ而结束(并且在MSMQ上发布并不是一个好故事,尽管它适用于发送/接收)。