NserviceBus - 如果服务器脱机,消息会发生什么

时间:2014-05-14 15:33:21

标签: nservicebus

我认为NServiceBus文档包括持久消息传递。我的理解是,当服务器处于脱机状态时,消息将继续进入服务器的输入队列,当服务器重新联机时,该队列将被接收。

但是,如果服务器完全关闭并且输入队列不可访问怎么办?

我在客户端使用Bus.Send。

2 个答案:

答案 0 :(得分:1)

这取决于您使用的运输方式。

对于代理消息队列(如Azure Service Bus),只要该服务可用,最终将检索消息的计算机脱机这一事实无关紧要,因为该计算机只是询问外部排队服务对于消息。对于像SQL Server这样的传输也是如此。

对于像MSMQ这样的传输(存储正向样式队列),消息将保留在本地传出队列中,直到远程机器可用为止。

答案 1 :(得分:1)

你能仔细检查一下你正在寻找正确的位置吗?如果在发送时没有从NServiceBus中收到错误,则安装MSMQ。如果无法联系或服务停止,您将收到错误。

出站队列位于不同的位置,如下所示: http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-components-postattachments/00-09-06-31-16/outgoingempty.JPG

正如RMD所指出的,这是存储和转发MSMQ传输的一个优点。本地出站队列应该只是堆叠它们直到远程服务器可用。

THX。 乔