Shuttle / shuttle-esb

Documentation for the Shuttle.Esb free open-source .NET/Core enterprise service bus.
http://shuttle.github.io/shuttle-esb/
127 stars 44 forks source link

shuttle how to run in the dual network environment #53

Closed zhangxishi closed 8 years ago

zhangxishi commented 8 years ago

We run the system under the dual network environment, in order to ensure the normal operation of the network, terminal and server connected at the same time a and B nets, subscribermessagetype using machine name as a connection to the destination address, for example: msmq://t-pc/pubsub-MainClient-inbox-work, I would like to ask in the routing table,

1, ESB shuttle is how to carry out the conversion of the machine name to IP? Is the conversion of the A network address or B web address? Whether IP are required in the same network?

2, if the B net A net of which a net break, MSMQ how to switch?

eben-roux commented 8 years ago

The underlying msmq implementation uses msmq in the same way if one uses it directly. If msmq cannot resolve the destination properly you will run into some friction. You could always opt for using the IP address if the machine name cannot be properly resolved, The path is determined by the Shuttme.Esb.Msmq implementation as follows:

Path = Local
    ? string.Format(@"{0}\private$\{1}", host, uri.Segments[1])
    : usesIPAddress
        ? string.Format(@"FormatName:DIRECT=TCP:{0}\private$\{1}", host, uri.Segments[1])
        : string.Format(@"FormatName:DIRECT=OS:{0}\private$\{1}", host, uri.Segments[1]);
eben-roux commented 8 years ago

If you find that msmq is too limiting in this regard I would suggest that you perhaps take a look at a broker like RabbitMQ.

zhangxishi commented 8 years ago

Does the MSMQ use the machine name to access the interface with the network switch possible ?

eben-roux commented 8 years ago

There are different ways to connect (as shown above). Can I suggest you try StackOverflow for MSMQ specific questions.

zhangxishi commented 8 years ago

thanks