Please be aware that this requires RSB to run on MSMQ 4.0, to do remote transactional recieves
On Thu, Jun 10, 2010 at 6:15 PM, JakeS <[email protected]> wrote: > I derailed my last thread with issues about flat queues and other > stuff, so I wanted to start a new thread again now that I'm back to my > original issue -- I need to allow my system to scale by allowing > worker processes on remote machines to communicate with a central > system. I've put in a loadbalancer and have workers now connecting to > it and communicating (I think). But I'm still not getting remote > workers to actually receive messages. > > I now have 3 players, the "requester" (a website), the loadbalancer, > and the "workers". My requester uses a oneway bus to send messages to > the loadbalancer, which I hope will then distribute them to the > workers. Here's how I've got them configured: > *Requester: > <facility id="requester.esb" > > <bus threadCount="1" > loadBalancerEndpoint="msmq://LOCALHOST/ > videotoencode.loadbalancer" > numberOfRetries="5" > endpoint="msmq://LOCALHOST/videotoencode" > queueIsolationLevel="ReadCommitted" > /> > <messages> > <add name="Messages.VideoToEncode" > endpoint="msmq://LOCALHOST/videotoencode" > /> > </messages> > </facility> > > *Loadbalancer: > <facility id="video.loadbalancer" > > <loadBalancer threadCount="1" > endpoint="msmq://LOCALHOST/videotoencode.loadbalancer" > UseFlatQueue="true" > /> > </facility> > > *Worker: > <facility id="worker.esb" > > <bus threadCount="1" > loadBalancerEndpoint="msmq://REMOTEHOST/ > videotoencode.loadbalancer" > numberOfRetries="5" > endpoint="msmq://LOCALHOST/videotoencode" > queueIsolationLevel="ReadCommitted" > transactional="false" > /> > <messages> > <add name="Messages.VideoToEncode" > endpoint="msmq://LOCALHOST/videotoencode" > /> > </messages> > </facility> > > When I launch the worker, the loadbalancer sees it! Debug logs show > the following: > > DEBUG Rhino.ServiceBus.Msmq.AbstractMsmqListener [(null)] Got message > Rhino.ServiceBus.Messages.ReadyToWork on > msmq://REMOTEHOST/videotoencode.loadbalancer > from FORMATNAME:DIRECT=OS:WW09\private$\videotoencode > DEBUG Rhino.ServiceBus.LoadBalancer.MsmqLoadBalancer [(null)] > msmq://MYWORKERMACHINE/videotoencode is ready to work > > But once the requester sends a message to encode a new video, the > remote worker never gets it. If I run the worker process on the same > machine, changing the worker's loadbalancer endpoint to LOCALHOST, it > works fine. > > I'm inching my way closer to getting this sorted. I hope I don't get > hit with another "You're doing it ALL wrong" moment, but please don't > hold back. > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<rhino-tools-dev%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
