Rebus pub-sub系统。由一个且仅一个订户处理每条消息

时间:2018-04-06 11:52:42

标签: rebus

使用rebus,我希望能够从一个应用程序发布,并从多个应用程序订阅,其中每个消息仅由循环中的一个订阅者处理,如下所述: https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html

这可能与rebus有关吗?

1 个答案:

答案 0 :(得分:0)

是的,但是"发布"和"订阅"在这里令人困惑,因为它不是文献中描述的"Publish/Subscribe",因为pub / sub几乎意味着你不关心有多少听众。

您想要的是发送消息,然后您希望在多个消费者之间分发已发送的消息。

有了Rebus,这肯定是可能的。但是,您这样做的方式可能略微取决于您正在使用的传输(*)

大多数传输都对competing consumers模式有很好的支持,你只需要启动多个进程,可能在多台机器上运行,这些进程使用来自同一队列的消息。

这样,每条消息只处理一次,每个消费者将以适合该特定消费者的速率接收消息。

(*)当多个进程从同一队列中取消消息时,MSMQ不擅长分发负载,尤其是当进程在队列所在的其他机器上运行时,尤其如此。