On Mon, Feb 25, 2013 at 1:24 PM, Trevor Bernard <trevor.bern...@gmail.com> wrote:
> The pattern I'm trying to implement is a reliable pipeline. I want to > be able to guarantee that what I send from the front endpoint won't be > lost on it's way to the back endpoint. OK, the simplest design is to assume that failure is possible in workers due to them running application code, whereas ventilator and sink are robust. Then, you detect failure by having a loss in the sink, and you recover from failure by resubmitting the whole batch. If it fails more than once, you flag it as "toxic" and stop retrying. If you want to handle failed sinks or ventilators, you can use redundancy and simply choose a sink/ventilator at start up, since these are stateless. You can do all this with PUSH/PULL I think. Clearly you're trying something more sophisticated so my guess is either we don't mean the same thing with "reliable pipeline", or you're building a too-complex solution. My advice on reliability is to identify real failures and solve those in order of probability. -Pieter _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev