[zeromq-dev] Unsure of the best topology

Kieran Evans keyz182 at gmail.com
Wed Oct 2 14:24:24 CEST 2013


Hi,

I'm fairly new to ZMQ, and I'm looking to use it for a specific project 
to replace an unweildy HTTP solution.

Currently this is what we have:

We have a presence inside a NAT'ed network, we have multiple clients, 
and one "proxy".
We have a public endpoint, with multiple workers behind it.

We can only make outgoing connections from the NAT'ed network, and we 
can only be sure that the proxy will be able to make outgoing 
connections, and we can't have incoming connections.

So currently, all clients make http requests to the proxy. The proxy 
sends them on to the public end point, which farms requests out to the 
workers, and then http responses flow back.

The way it's done currently means that if we add new functionality, it 
has to be replicated at all points, rather than a ZMQ solution, where 
just at the client and worker would be aware of the message format, 
everything in between would just be for moving messages.

For a ZMQ solution, I'm thinking something along the lines of the Queue 
here 
(https://learning-0mq-with-pyzmq.readthedocs.org/en/latest/pyzmq/devices/queue.html), 
except the queue component is split in two, with the left hand side 
making outgoing connections to the right.

Is there a better way to do this? Can it even work (i.e. have I 
understood correctly)?

Thanks for your help with my potentially daft question :)

/Kieran





More information about the zeromq-dev mailing list