Reading the zeromq api <http://api.zeromq.org/4-0:zmq-proxy>  docs I see
that a zmq_proxy can be used as a shared queue.

 

'Shared queue

When the frontend is a ZMQ_ROUTER socket, and the backend is a ZMQ_DEALER
socket, the proxy shall act as a shared queue that collects requests from a
set of clients, and distributes these fairly among a set of services.
Requests shall be fair-queued from frontend connections and distributed
evenly across backend connections. Replies shall automatically return to the
client that made the original request.'

 

 

I have a few (simple) questions on zmq_proxy which I hoped someone might be
able to answer;

 

1.    What is the maximum size of a zmq_proxy queue, what is its capacity
for storing queued messages; is it related to the high-water-mark settings
of the constituent sockets?  Or is it able to grow to any size limited only
by available memory.  Or something else entirely?

 

2.    How fast does a zmq_proxy run and process messages; does it run as
fast as possible in its thread? Does it poll at intervals and then sleep for
a period? Does it somehow respond to load and throttle up and down as
necessary?

 

3.    Just to clarify before I start coding J: Is a ROUTER-DEALER zmq_proxy
a bidirectional queue?  What I'm considering is this;

 

A ROUTER-DEALER zmq_proxy with a set of clients communicating with the
zmq_proxy ROUTER socket and an answering service using the zmq_proxy DEALER
socket.

 

Could the answering service pull an inbound queued message off the zmq_proxy
DEALER socket; process it, catch the identity of the originator client,
create a response, prepend the identity and then send the response back
through the same zmq_proxy DEALER socket and have it routed back to the
correct originating client?  i.e. Both inbound and outbound queues would
conceptually be built into a single ROUTER-DEALER zmq_proxy?

 

With thanks,

 

Riskybiz.

 

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to