MSMQ, distributed topology, pubsub - queue config question
I am trying to set up a pub sub using msmq and rhino.esb. I have the publisher on one server and the subscriber on the other. When running locally with everything set to localhost it works fine.
My question is this - if this is my configuration for a local publisher:
<facility id="rhino.esb">
<bus threadCount="1" numberOfRetries="5" endpoint="msmq://localhost/SonaTribe.Services.Schedule.Host" />
<messages>
<add name="SonaTribe.Esb.Messages" endpoint="msmq://localhost/SonaTribe.Esb" />
</messages>
</facility>
Where the bus and messages queues are both localhost.
When they are on seperate machines i have the following config:
<facilities>
<facility id="rhino.esb">
<bus threadCount="1" numberOfRetries="5" name="schedule_host" endpoint="msmq://localhost/SonaTribe.Services.Schedule.Host" />
<messages>
<add name="SonaTribe.Esb.Messages" endpoint="msmq://10.0.0.164/SonaTribe.Esb" />
</messages>
</facility>
</facilities>
Where one queue is localhost and the other is on the remote machine. Is this correct?
All of the samples i can find are all setup to开发者_StackOverflow中文版 run on the same machine - which is a bit silly as the whole point of this is to be able to distribute the services no?
w://
I'm no expert on ESB but the MSMQ bit looks like you are using pathnames. These need to resolve to a machine in Active Directory. An IP address won't work in doing this as AD knows nothing about IP addresses.
To use an IP address, MSMQ would need to use DIRECT FormatName addressing, such as:
endpoint address="msmq.formatname:DIRECT=TCP:10.0.0.164/SonaTribe.Esb" or endpoint address="msmq.formatname:DIRECT=TCP:10.0.0.164/private$/SonaTribe.Esb"
Cheers
John Breakwell
精彩评论