Sure, give me just a couple of minutes to reorganize some English words :) On Thu, Apr 2, 2009 at 23:36, Ayende Rahien <[email protected]> wrote:
> 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 -~----------~----~----~----~------~----~------~--~---
