[zeromq-dev] Survey: use of 0MQ request reply

Sean Ochoa sean.m.ochoa at gmail.com
Wed Jun 15 18:55:08 CEST 2011


1. Are you using ROUTER (XREP) sockets in custom devices or brokers? No.

2. Are you using ROUTER sockets in end-nodes (application code)? If
so, can you explain how and why? No.

3. Are you using DEALER sockets in end-nodes? If so, can you explain
how and why? No.

4. Are you using the REQ-REP multi-hop functionality, either with a
queue device, or a custom device? Can you explain how and why? No.

5. How do you handle failures (lost requests or replies)?

Well, this is a good question.  I came up with a way to establish a session
with three nodes acting as the messaging nodes (aka "the nodes").

1) The client apps setup a session by first pushing session id and then the
client app pub queue details up to each nodes to signify the beginning of
the session for the client application, host, port, and timestamp.

2) The nodes would then subscribe to the client, and the first one to pull
the message off of the queue would process it and ack back via a pub queue
on the node which the client would have already subscribed to.  If the ack
doesn't get received, then the node failed to process the message and the
client will re-publish the message.

In the end, this architecture works, but it isn't built-in.  And,
implementing it instead of using a message queue that has high availability
/ fail-over built in (in our case, we chose activemq) seemed too risky.  I
wonder if we could build in that sort of functionality into either pyzmq or
somewhere else where it could get some exposure and become hardened by
testing.

6. Anything you feel is missing or inadequate in the REQ/REP designs?
Please explain with a use case. N/A

 -- Sean


On Wed, Jun 15, 2011 at 2:06 AM, Pieter Hintjens <ph at imatix.com> wrote:

> Hi all,
>
> Following some discussion on IRC about reviewing the REQ/REP designs,
> I'd like to measure how people are using these. So, a short survey,
> please answer inline, if you can.
>
> 1. Are you using ROUTER (XREP) sockets in custom devices or brokers?
>
> 2. Are you using ROUTER sockets in end-nodes (application code)? If
> so, can you explain how and why?
>
> 3. Are you using DEALER sockets in end-nodes? If so, can you explain
> how and why?
>
> 4. Are you using the REQ-REP multi-hop functionality, either with a
> queue device, or a custom device? Can you explain how and why?
>
> 5. How do you handle failures (lost requests or replies)?
>
> 6. Anything you feel is missing or inadequate in the REQ/REP designs?
> Please explain with a use case.
>
> Cheers,
> Pieter
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



-- 
Sean | (206) 962-7954
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110615/3b06a724/attachment.htm>


More information about the zeromq-dev mailing list