So I have 8 workers (PULL sockets) that feed from a single bound PUSH socket. They deal with a huge amount of data per second and randomly crash sometimes. Obviously, I should try to get a handle on these crashes, but I'm curious how resilient this system is currently.
I've noticed that the worker processes sometimes balloon in memory usage during periods of high activity (it's not a leak though because it goes back down and this is a C program with no garbage collection) leading me to believe that the zmq PULL socket queue is filling up as the worker sorts through all the back logged messages.
What happens if the process dies while it is in this state? Are the messages also queued in the PUSH socket or are they lost?