Most queuing technologies can only operate within a local network, which presents some problems when communication is needed between geographically separated sites. A canonical example is a headquarters site that must exchange messages with regional offices.
The best approach to geographic separation is to establish a VPN connection between sites. As far as NServiceBus is concerned, a VPN connection makes geographically separated sites part of the same local network, and NServiceBus can operate more or less normally. Of course, some messages will have a little farther to travel than others, and the message transport's built-in capabilities will cover instances when the VPN connection is not always reliable.
The reality, however, is that a VPN connection is not always a possibility. If it is not available, the only method we can reliably use to communicate between sites and through firewalls is HTTP.
For this, NServiceBus provides the gateway component in the NServiceBus.Gateway...