[zeromq-dev] Router sockets and lost wandering messages
cremes.devlist at mac.com
Mon Feb 6 20:40:28 CET 2012
On Feb 6, 2012, at 1:26 PM, Noah Gibbs wrote:
> We've realized an odd property of our architecture, and I'm curious if there's a standard solution.
> Currently we have router processes using a bound ZMQ_ROUTER socket to receive messages from client processes, each connected to multiple routers via a ZMQ_DEALER socket.
> If a client process reboots, it will reconnect using a new zmq identity for its dealer sockets.
> This means that any messages (acknowledgements, certain scheduling packets) that are addressed to the old zmq identity from before the client rebooted will never be sent. I *think* that means they will pile up unsent in the router socket.
Unless you are using durable sockets (a feature that is going away in the 3.1.x series), then the ROUTER socket will just throw away the message in this situation. So, you don't need to worry about messages piling up.
More information about the zeromq-dev