[zeromq-dev] Persistent queues

Pieter Hintjens ph at imatix.com
Tue Jun 28 22:34:54 CEST 2011

Hi Garrett,

The comment was about phasing out durable sockets. The socket queues
are not really message queues, it's better to think of them as
analogous to network buffers. Allowing these to be durable seemed to
be a good idea but has turned out to be a major pain for the actual
design of 0MQ. It's the single major cause of nastiness in the core

Given that it's really expensive to support (and this nastiness stops
us from cleaning up the library to make it easier to do other stuff),
we have to ask, is this use case really valid?

Persistent queues - properly - should be built on top of 0MQ, as shown
by models like Majordomo. You need to qualify "persistence" properly.
It might mean saving to disk, it might mean transactions,

For durable pubsub, we've got the Clone pattern (see Ch5 of the
Guide). This is far more useful than durable sockets.

The only use case I've seen (recently) for explicit identities is
router-to-router connections, which we need in some p2p architectures.
However those don't require durable sockets, just explicit identities
that allow unsolicited sends. So it's a subset of today's explicit
identity / durable socket functionality.

tl;dr: Martin Sustrik really wants to remove explicit identities from
3.0, and it seems a fair trade-off for other more useful features.


On Tue, Jun 28, 2011 at 2:19 PM, Garrett Smith <g at rre.tt> wrote:
> I recently saw a comment from Pieter about phasing out persistent queues.
> Assuming I got that right, could someone elaborate a bit, or point me
> to a thread?
> Garrett
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

More information about the zeromq-dev mailing list