[zeromq-dev] Single-Point-of-Failure removal

Paul Colomiets paul at colomiets.name
Mon Apr 9 09:17:28 CEST 2012

Hi Gregory,

On Mon, Apr 9, 2012 at 4:21 AM, Gregory Taylor <gtaylor at gc-taylor.com> wrote:
> If I understand correctly, the possibility I outlined (changing the
> Worker->Announcer link to Push/Pull) would eliminate the duplicate messages,
> since Push/Pull is fair-queued when multiple connections are made (each
> Worker to multiple Announcers), and the Clients would be Sub'd to the two
> announcers (Pub).
> Am I on the right track with this?

Yes and No. It depends on needed reliability guarantees. If you turn that
into push/pull, and one announcer crashes, you will loose some messages.

Having pub/sub and two announcer client will receive every message twice,
but if announcer crashes it will not loose any message.

Similar considerations are applied to other parts of the architecture. You
might want req/rep between gateway and broker and broker and worker
(to be able to repeat request if it lost), if you'd better tolerate duplicates
than lost messages. But leave it as is (with push/pull) if duplicates are
more harmful than lost messages.


More information about the zeromq-dev mailing list