The default transport used by NServiceBus is MSMQ.
This page holds information about MSMQ relevant to NServiceBus.
History
MSMQ stands for Microsoft Message Queuing and is available on almost all Windows machines
from Windows 2000 onwards (though not including Win2K home edition).
With Windows XP and Server 2003 Microsoft introduced MSMQ 3.0, and Service Pack 2 brought MSMQ to version 3.1, with an enterprise ready feature set.
During the time that the Connected Systems Division at Microsoft was developing Indigo (now known as WCF), there was the intention to replace MSMQ with something new. 2 years later, the effort to replace MSMQ was abandoned and MSMQ was integrated into the standard WCF model and configuration.
Other technologies like BizTalk and SQL Server Service Broker still do not have a .NET API in the Base Class Library (BCL). Included in the Vista release, MSMQ 4.0 was made available showing Microsoft's continued commitment to it. To this day, MSMQ remains the primary durable communications technology on the Microsoft platform.
Virtual Private Networks (VPN)
MSMQ isn't smart enough to dynamically detect network interfaces. Therefore if you connect a VPN after the MSMQ service is started, you have to restart the MSMQ service for it to detect the VPN. Once it's started with the interface the VPN is free to disconnect/reconnect whenever it wants.
It is recommended to have setup batch scripts that run on server startups to connect the VPN which then restart the MSMQ service automatically.
MSMQ Clustering
This works by having the active node running the instance of the MSMQ service and the other nodes being cold standbys. On failover, a new instance of the MSMQ service has to be loaded from scratch. All active network connections and associated queue handles will be broken and have to be reconnected. Any transactional processing of messages will abort, returning the message to the queue after startup.
So downtime is proportional to time taken for MSMQ service to restart on other node. This is affected by how many messages are in currently storage awaiting processing.
Useful Links
-
Changing the MSMQ Storage location
(This is not the prefered way, virtualization is a better way to make sure that messages are safe.) -
Technet content for troubleshooting MSMQ on Windows 2008 and Vista
-
What publicly available tools are there for troubleshooting MSMQ problems?
