【发布时间】:2011-03-01 20:32:49
【问题描述】:
刚开始学习 NServiceBus 并试图理解这个概念。 当谈到队列时,我们是在谈论发布者和订阅者上的 MSMQ 吗? 所以,如果我有一个应用程序生成一些东西的列表(比如,动物的名字),那么它会将列表转储到发布者的队列中。发布者每分钟轮询一次队列,如果队列中有内容,它将发布到订阅者的队列以进行进一步处理。这有意义吗?
谢谢。
【问题讨论】:
标签: nservicebus
刚开始学习 NServiceBus 并试图理解这个概念。 当谈到队列时,我们是在谈论发布者和订阅者上的 MSMQ 吗? 所以,如果我有一个应用程序生成一些东西的列表(比如,动物的名字),那么它会将列表转储到发布者的队列中。发布者每分钟轮询一次队列,如果队列中有内容,它将发布到订阅者的队列以进行进一步处理。这有意义吗?
谢谢。
【问题讨论】:
标签: nservicebus
发布的事件顺序如下:
您可以利用其他消息传递平台而不是 MSMQ,但 MSMQ 是默认设置。确实没有进行轮询,当消息进入队列时,所有端点都会发出信号。
【讨论】:
MSMQ 是一个传输层。它传递消息。
应用程序将使用 NServiceBus 队列发布内容。如果您将其配置为使用 MSMQ,那么它将用于其传输层,这也是订阅者将要查看的内容。
【讨论】:
NServiceBus 遵循您正确说明的发布者/订阅者模型。但是,您的困惑是基于使用两个队列。这是不正确的。服务器(发布者)将维护通过 MSMQ 协议接口的队列,因此您的应用程序可能会直接与该队列进行远程或本地通信。
您通常会使用 WCF 服务,该服务会在将新消息推送到队列时引发事件。然后,您的应用程序可以根据需要使用此新消息。有关示例,请参阅 NServiceBus 文档:http://www.nservicebus.com/ArchitecturalPrinciples.aspx
【讨论】: