The first graphic is correct.

You need to run the code and dive into it a bit more to understand it. You are 
trying to do something that isn't very complicated, but your lack of experience 
and comfort with the library is making it seem harder than it should. 
Experiment a bit. There's no substitute. Once you grok it better, my last 
answer will make more sense.

cr

On Nov 5, 2012, at 9:35 AM, Michal Singer <[email protected]> wrote:

> Do you mean that I should change in the broker code (mdbroker- in java 
> implementation) the wait to send a response from worker (method processWorker 
> handle of MDP.W_REPLY)
> to dispatch to one of the clients like as defined for the workers?
>  
> Does it mean that I should use the same pattern:
> <image001.png>
>  
>  
> Theoretically I would prefer to use a dealer as the broker in between since I 
> don't need the ROUTER's knowledge of who to response to. But according to the 
> man, a DEALER can only talk to a ROUTER,REQ, REP.
> Is this correct? Should I use dealer to router to dealer in this case? Or is 
> this legal?
> <image002.png>
>  
>  
> Thanks,
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Charles Remes
> Sent: Monday, November 05, 2012 4:05 PM
> To: ZeroMQ development list
> Subject: Re: [zeromq-dev] which pattern to use
>  
> Read this wiki page about DEALER and ROUTER sockets:  
> http://www.zeromq.org/tutorials:dealer-and-router
>  
> That page should help clarify how you can modify the Majordomo pattern to 
> accomplish your task. The broker in the middle could easily round-robin (or 
> whatever scheme you choose) the replies back to the request group.
>  
> Right now the majordomo broker assumes a single request will be mapped to a 
> group of workers. You want the request to also come from a group. In the 
> current broker examples, the original requestor is looked up so the reply can 
> be sent back. You would modify that to lookup the group that the request came 
> from and pick the next available worker to send the reply back to.
>  
> Does that make sense?
>  
> cr
>  
>  
> On Nov 5, 2012, at 7:48 AM, Michal Singer <[email protected]> wrote:
> 
> 
> Can I do the Majordomo pattern with two sockets, one in each direction to get 
> the feature of "return to different clients with the answer" ? Or is it 
> better to use the push-pull?
> The push-pull is not explained a lot in the guide so I am not sure how to 
> implement:
> 1.       LRU
> 2.       Service discovery
> 3.       Reliability
> Whereas the Majordomo is explained a lot with all the examples.
>  
> Thanks.
>  
>  
>  
> From: Michal Singer [mailto:[email protected]] 
> Sent: Monday, November 05, 2012 1:58 PM
> To: 'ZeroMQ development list'
> Subject: RE: [zeromq-dev] which pattern to use
>  
> Thanks for the fast replyJ
> The problem with this that it uses ROUTER as broker as this is a 
> request-reply pattern and I don't want the reply to necessarily return to the 
> sender but instead to anyone which is listening in the same group of senders.
>  
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Pieter Hintjens
> Sent: Monday, November 05, 2012 12:14 PM
> To: ZeroMQ development list
> Subject: Re: [zeromq-dev] which pattern to use
>  
> You can probably base this off the Majordomo pattern.
>  
> 
> On Mon, Nov 5, 2012 at 10:48 AM, Michal Singer <[email protected]> wrote:
> Hi.
> I am new with ZMQ. I am checking it out to use for a distributed system. I am 
> reading the guide but I can't find an exactly suited pattern for our needs.
> I need a pattern for:
> ·         a services oriented system: one which consists of groups of 
> service, let's say group A (A1, A2, A3,…), group B (B1,B2,B3,..), group 
> C(C1,C2,C3,…)
> ·         These services are like 'workers'
> ·         Each service from each group can send a request to one service from 
> each of the other groups
> ·         The reply from the destination service can go to any of the other 
> services from the sending group
>  
> Something like this:
>  
> A1 (send request to)->B2 (send reply to)->A2 (send request to )->C1 (send 
> reply to )->A1
>  
>  
> It is some sort of a push-pull where any service should have a 'PUSH' and 
> 'PULL' socket.
> It is also some kind of a dealer to dealer type of a pattern, though it is 
> important that the reply can return to any of the sending group.
>  
> I got to chapter 6 and couldn't find any good examples of the PUSH-PULL 
> pattern and it seems like I need one to fully cover all scenarios of 
> reliability and so on.
>  
> What should I do?
>  
> Thanks in advance, Michal
>  
> 
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> 
>  
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>  
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to