The way it works. P1 - publisher of Msg1 S1 - S3 - Subscribers to Ms1
S1 starts up, it sends an AddSubscription request to P1 P1 publish a Msg1 msg. So it sends it to S1 S2 starts up, it sends an AddSubscription request to P1 P1 publish a Msg1 msg. So it sends it to S1,S2 On Thu, Jan 29, 2009 at 2:39 PM, Matt Burton <[email protected]> wrote: > > Thanks for the responses - most appreciated. Yes - I know that what > I'm trying to do is pub/sub - I was referring to the term "load > balancer" as that appeared to be the mechanics around the store and > forward mechanism of publishing a message to multiple subscribers in > RSB. I guess I was wrong about that - but I'm a bit confused as to how > this is working then. > > When you say it should work out of the box - are you referring to > pub/sub? I'm guessing I have a fundamental misunderstanding of the > mechanics here. Process 1 publishes a message which process 2 is > subscribed to. Process 2 then publishes a new message which processes > A, B, and C are all subscribed to. The way I was thinking about it was > that the message would go into a queue and then something would pick > up the message and relay it to all the subscribers. Is that not how it > works? If not, and the subscribers are simply watching the queue of > the publisher, how does the publisher know when all the subscribers > have received the message and it can pull the message from the queue? > > Thanks for helping! > Matt > > On Thu, Jan 29, 2009 at 11:22 AM, Ayende Rahien <[email protected]> wrote: > > inline > > > > On Thu, Jan 29, 2009 at 12:39 PM, Matt Burton <[email protected]> > wrote: > >> > >> Follow-up question - I saw some activity around the load balancer in > >> SVN after my last message and dug into it and discovered the > >> LoadBalancerHost and it's accompanying > >> RemoteAppDomainLoadBalancerHost. I'm not using this for my load > >> balancer, yet it's still working - so I'm wondering what it is exactly > >> that I've got going here... My workers are configured with load > >> balancer endpoints but I'm not sure how the messages are getting sent > >> to the worker queues without the MsmqLoadBalancer in play. I've been > >> going through the RSB code but I'm not exactly sure of the flow at > >> this point. > > > > We have a problem of terminology. > > What you call load balancer I think about as pub/sub. > > What the load balancer in RSB is supposed to accomplish is to let you > have > > several machines sharing the load of a single endpoint. > > Think about it like a hardware load balancer in front of a single URL. > > > >> > >> In any event - when I do try to use the LoadBalancerHost or the remote > >> app domain loader it complains about the endpoint and threadCount > >> properties that it's dependent on. I saw in the unit tests how you're > >> manually specifying these values when configuring the container, but I > >> don't have hook to do this with the LoadBalancerHost as it doesn't use > >> a bootstrapper to configure the host before starting it, even if you > >> specify one. I have the facility configuration in my config file, > >> obviously, but it's not picking it up for some reason: > > > > It is not done yet, unfortunately. > > > >> > >> public void Start() > >> { > >> var container = new WindsorContainer(new XmlInterpreter()); > >> container.Kernel.AddFacility("rhino.esb", new > >> RhinoServiceBusFacility()); > >> container.AddComponent<MsmqLoadBalancer>(); > >> > >> loadBalancer = container.Resolve<MsmqLoadBalancer>(); > >> } > >> > >> It blows up on the Resolve call. What am I missing? > >> > >> I'm assuming that if I can get this working that the new KnownWorkers > >> public property on MsmqLoadBalancer would be the solution to my > >> question below, where I want to know the number of workers > >> participating in a load balanced scenario, correct? > >> > >> Thanks, > >> Matt > >> > >> On Wed, Jan 28, 2009 at 11:05 AM, Matt Burton <[email protected]> > >> wrote: > >> > I have a scenario where I want to have multiple subscribers to a > >> > message such that when the message is published each picks it up and > >> > processes it independently. In terms of config I don't want to have > >> > the publisher know about each worker node, so I was able to get the > >> > load balancer concept running and it works just as I had hoped. > >> > > >> > Question - the scenario I'm proving out here is one where I'm > >> > provisioning software to machines, so that I receive a request to > >> > provision a new tenant and then I publish a message to create a new > >> > web site for that tenant on N machines. I want to be able to throw a > >> > new box into the mix and have it participate in the process > >> > automatically. It would be nice to know whether or not the > >> > provisioning of the web site was successful on each machine and base > >> > the completion of the saga on whether or not all boxes chimed in > >> > saying they were successful. In order to do that, however, I'd need to > >> > know how many servers were participating, something which looks like > >> > it would require some tinkering around with the actual subscription > >> > queues themselves to figure out. > >> > > >> > What would you advise in this scenario? Fire and forget for > >> > provisioning the sites - depend on an external solution to monitor > >> > errors? Or do I have the workers send back a thumbs up saying that > >> > they did their job and when all report back call it good? If so, what > >> > are my options for determining the number of subscribers in the load > >> > balanced scenario? > >> > > >> > Thanks, > >> > Matt > >> > > >> > >> > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
