Can you restart the problem? I am not sure that I understand.If you need subscribers, you need to just have the endpoint which publish the message. Anything else is not necessary, it will auto subscribe and respond to messages after that.
On Thu, Mar 26, 2009 at 11:04 AM, Simone Busoli <[email protected]>wrote: > Late on this thread, but I'm trying RSB right now on a project and setting > up a pub/sub scenario. I'm not sure I understand how multiple subscribers > are identified, I have, say, two subscribers that only need to receive > messages, and I gave them the same configuration file. From what I can > see, giving them the same endpoint uri entails that they are all the same > instance, therefore when a message is published only one of them receives > it. > On the other hand, I can see that if every subscriber has a different > endpoint everything works correctly. > My issue with that is that I'll need several subscribers, whose code and > configuration is taken from a build server, which outputs a single > configuration file, which, along all the other stuff gets deployed on > production machines. > As far as I can see this prevents me from using the xml configuration to > set up the facility and instead add it to the container during the startup > of the application with an endpoint supplied programmatically based on, for > example, the name of the machine. > Any ideas? > > On Thu, Jan 29, 2009 at 21:07, Matt Burton <[email protected]> wrote: > >> >> LOL >> >> FYI - I shuffled everything around and it's working brilliantly with >> the understanding of how pub/sub is actually being carried out. I'll >> have to figure out what I want to do about the subscription business - >> knowing that I received n responses for n subscribers. Using >> ISubscriptionStorage it works great, however I agree it does feel a >> bit dirty... >> >> On Thu, Jan 29, 2009 at 11:58 AM, Ayende Rahien <[email protected]> >> wrote: >> > Yes, you can. >> > Buy BizTalk >> > >> > On Thu, Jan 29, 2009 at 2:48 PM, Matt Burton <[email protected]> >> wrote: >> >> >> >> Crap - that's too simple - can't we make it more complicated? :) >> >> >> >> Thanks for the clarification - most appreciated. >> >> >> >> On Thu, Jan 29, 2009 at 11:43 AM, Ayende Rahien <[email protected]> >> wrote: >> >> > 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 -~----------~----~----~----~------~----~------~--~---
