[zeromq-dev] Unsure of the best topology

Artem Vysochyn artem.vysochyn at gmail.com
Wed Oct 2 17:50:44 CEST 2013

Hi Kieran,

>>>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.

I would recommend you looking at LRU mechanism which zmq allows to
build very cheaply by yourself.
You said you add new functionality and don't want it to be replicated
on every worker. Ok, so in this case you have
clients which have to go via "old route" and via "new route".
Correct? If so, then client(s) and worker(s) have to be
"identifyable"/"recognizable", which
would allow you to make assertions in the code, like if
"client-1.0.14" then go to "worker-1.3.17".

So, essentially, you should know next things:
- what's DEALER
- what's ROUTER
- what's a "device"
- why ROUTER/DEALER device is cool, but ROUTER/ROUTER is a "rock star"
- what's socket identity


2013/10/2 Pieter Hintjens <ph at imatix.com>:
> Hi Kieran,
>> Is there a better way to do this? Can it even work (i.e. have I
>> understood correctly)?
> Since half the fun of ZeroMQ is discovering the best topologies
> yourself, it would be a shame to point you in any specific direction.
> What I'll say is that it's very fast to try different designs, as in
> you can experiment with half a dozen in a day.  The trick is to
> experiment in isolation, with mock clients and workers, using threads
> in one process if possible. This lets you try different patterns and
> learn how they work.
> -Pieter
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

More information about the zeromq-dev mailing list