NServiceBus:要求进程发布到多个队列

时间:2011-08-11 00:57:40

标签: nservicebus

我们有一个使用NServiceBus的进程已经将消息发布到我们系统中运行的其他进程。我想在此过程中添加其他功能,这将要求它将消息发布到其他进程,但我希望能够使用新类型的消息写入另一个队列。优选地,我不希望在同一队列上将消息混合在一起,因为它们具有不同的优先级。我所看到的只是表明NServiceBus每个进程只支持一个队列。这是对的吗?

如果是这样,那么有人可以建议一个好的解决方法吗?我能想到的唯一一个是将新队列放在一个单独的“NServiceBus Hub”进程中,然后使用WCF集成功能将新进程间进程从我的进程中继到集线器以便插入新队列。 / p>

感谢。

1 个答案:

答案 0 :(得分:1)

您对在单个队列中混合高优先级和低优先级消息的担忧是有效的。

这需要在发送方和接收方都解决。

发件人不会在本地写入自己的单个队列。而是当它向收件人发送邮件时,发件人会写入特定于该收件人的临时本地队列。

所以你有两个潜在的问题:

  1. 接收器处理来自同一队列的高优先级和低优先级消息。
  2. 发件人正在发送高优先级和低优先级的消息。
  3. 如果是这种情况,您可以执行以下一项或两项操作:

    1. 将接收器服务分为两个服务,一个用于高优先级处理,另一个用于低优先级。
    2. 您可能还希望将高优先级处理分成它自己的NServiceBus发布服务。
    3. 这将优先为您提供多个端点,并在它们之间进行清晰的分离。