[zeromq-dev] Disconnecting from permanently dead endpoints

Pieter Hintjens ph at imatix.com
Wed Jan 25 18:36:13 CET 2012


On Wed, Jan 25, 2012 at 11:14 AM, Andrew Hume <andrew at research.att.com> wrote:

> if you're doing a PUSH-PULL, and the PUSH side is doing the bind,
> then there shouldn't be a problem with the (PULL) clients coming and going.
> are you saying there is?

PUSH/PULL doesn't work very well when workers come and go, since
requests can get sent to workers that are going away, and thus get
lost.

My general strategy in such dynamic topologies is to use ROUTER
sockets and custom routing. You could for example use credit-based
flow control, or LRU, or round-robin with sliding acknowledgements. In
any case you need explicit logic to either only send to known
available workers, or recover from messages lost. 0MQ will not do this
for you.

It was meant to be a topic for the Guide, how to build reliable pipelines.

-Pieter



More information about the zeromq-dev mailing list