使用rebus,我希望能够从一个应用程序发布,并从多个应用程序订阅,其中每个消息仅由循环中的一个订阅者处理,如下所述: https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html
这可能与rebus有关吗?
答案 0 :(得分:0)
是的,但是"发布"和"订阅"在这里令人困惑,因为它不是文献中描述的"Publish/Subscribe",因为pub / sub几乎意味着你不关心有多少听众。
您想要的是发送消息,然后您希望在多个消费者之间分发已发送的消息。
有了Rebus,这肯定是可能的。但是,您这样做的方式可能略微取决于您正在使用的传输(*)
大多数传输都对competing consumers模式有很好的支持,你只需要启动多个进程,可能在多台机器上运行,这些进程使用来自同一队列的消息。
这样,每条消息只处理一次,每个消费者将以适合该特定消费者的速率接收消息。
(*)当多个进程从同一队列中取消消息时,MSMQ不擅长分发负载,尤其是当进程在队列所在的其他机器上运行时,尤其如此。