Have you tried to use DEALER/ROUTER pattern (used to be called XREQ/XREP)?

I'd like to think of DEALER/ROUTER as the primitive for REQ/REP as it doesn't
constrain you having to reply to every request but of course you'll have to
manage socket IDs yourself to know whom to reply to only if needed.

On 08/31/2012 09:21 PM, Jeremy Selan wrote:
> From a newbie zmq user...
> 
> I am using zmq to stream a series of queries/updates from a user interface to 
> an
> underlying data model (using the ipc mechanism).
> 
> Some of these messages - representing queries - are
> conceptually synchronous where the response is required.  And some of these
> messages - the push updates - are asynchronous (where the response value, an
> empty buffer, is ignored.
> 
> I am currently using a single req/reply pattern for both the queries and the
> updates. This is obviously not ideal for performance, as it requires a 
> needless
> round-trip for the update messages.
> 
> I experimented with using two connections, req/rep along with push/pull, using
> the poller to do interleaved handling.  However, while this correctly models 
> the
> message handling, the message handling no longer preserves ordering as it uses
> two independent sockets.
> 
> While I could add a higher level mechanism to replicate the ordering,
> the simplicity of using a single zmq socket to preserve inherent message order
> is appealing.
> 
> Is there a way to do req/rep where you can tell zmq to not expect
> reply? (Something like a send flag, "NO_RESPONSE_EXPECTED", for req/rep.)
> 
> Is it possible to point both the req/rep and the push/pull at the same socket 
> to
> achieve a similar effect, which does preserver ordering?
> 
> Or an alternative best practice?
> 
> Thanks!
> 
> -- Jeremy
> 
> 
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> 

-- 
Amr Ali

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to