[zeromq-dev] subscribe/unsubscribe refcounting behaviour
sustrik at 250bpm.com
Thu Aug 19 11:25:09 CEST 2010
Pieter Hintjens wrote:
> On Thu, Aug 19, 2010 at 9:54 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:
>> Yes. It can be done. I can even imagine both ways of doing things:
>> idempotent subscriptions as well as refcounted subscriptions. My feeling
>> is that as we progress with the subscription forwarding implementation
>> one option would prove as unsuitable. So let's preserve current
>> semantics and see whether it holds as implementation progresses or
>> whether it will have to be changed.
> That's a very good approach. Intuitively it seems that since a
> network of forwarders each act as publishers and subscribers in turn,
> each will have to normalize subscriptions upstream, denormalize
> messages downstream, and so this will all "just work" idempotently.
> But running code is the only proof... :-)
Yep. I think there will be at least several issues that will come into play:
1. How subscriptions are re-established after node failure.
2. Merging of subscriptions.
3. Avoiding matching at certain nodes.
4. Exact unsubscribe semantics (immediate vs. delayed).
Anyway, the whole topic is too complex to devise a correct solution
without actually implemeting it.
> Martin, if there's anything I can do to help give me a shout.
Writing the user guide is worth more than writing 10k lines of code :)
More information about the zeromq-dev