NServiceBus:如果我的订户机器关机,发布的消息会发生什么情况?

NServiceBus:如果我的订户机器关机,发布的消息会发生什么情况?,nservicebus,Nservicebus,使用NServiceBus中的简单Pub/Sub,我知道如果我的订户应用程序没有运行,那么发布的消息将在队列中累积,直到可以处理它们为止。但是如果整个机器都坏了,它们在哪里积累呢?由于消息甚至无法传递到我的订阅者队列,是否存在它们位于发布者上的某个队列?我希望能够在订户机器关闭时查看发布服务器上等待的消息 有什么方法可以看到它们吗?Msmq是NServiceBus的默认传输,它使用存储转发模式来传递消息。这意味着,当您向另一台机器发送消息时,它首先“存储”在发送消息的机器上,然后“转发”到收件人

使用NServiceBus中的简单Pub/Sub,我知道如果我的订户应用程序没有运行,那么发布的消息将在队列中累积,直到可以处理它们为止。但是如果整个机器都坏了,它们在哪里积累呢?由于消息甚至无法传递到我的订阅者队列,是否存在它们位于发布者上的某个队列?我希望能够在订户机器关闭时查看发布服务器上等待的消息


有什么方法可以看到它们吗?

Msmq是NServiceBus的默认传输,它使用存储转发模式来传递消息。这意味着,当您向另一台机器发送消息时,它首先“存储”在发送消息的机器上,然后“转发”到收件人机器。这意味着发送到无法访问的机器的消息将存储在发送机器上,直到它们可以被传递。Msmq使用术语“传出队列”临时存储正在传递的消息。如果接收机器停机,消息将处于“传出队列”中,直到可以传递为止。如果您查看“Message Queuing”MMC插件,您会发现一个名为“Outgoing Queues”的文件夹,如果订阅服务器关闭,您发布的消息将显示在该文件夹中

在国际海事组织,有关Msmq的最佳信息来源是John Breakwells博客:

有关NServiceBus与Msmq结合的更多信息:


希望这有帮助

作为澄清点:问题是关于NServiceBus的。NServiceBus使用的默认传输恰好是MSMQ。