On Feb 23, 2011, at 11:31 AM, Pieter Hintjens wrote:

> On Wed, Feb 23, 2011 at 6:25 PM, Chuck Remes <[email protected]> wrote:
> 
>> If you really need reliable delivery of each published message, then the 
>> Pub/Sub pattern is not appropriate. You should use the REQ/REP pattern 
>> because you'll need to acknowledge each message.
> 
> Even that won't guarantee delivery :-) What if your acknowledgment gets lost?

True. Then you need timeouts and retransmissions. Definitely complicated 
stuff...

> Plus it adds extraordinary latency to traffic. Depending on your
> application, you would want some kind of asynchronous negative
> acknowledgment, i.e. "I'm missing data X, please (re)send". Possibly
> out of band so the normal pubsub traffic can scale to many clients
> over multicast.

Batching up the missing sequence numbers can be difficult. I like using a 
"sliding windows" algo for acknowledgement. You essentially end up recreating 
the sliding windows logic from zmodem, tcp, etc.

> It gets complex. We're looking at this in Ch4 but really it's a
> project by itself.

This would be a *great* reusable project. I think it would have a lot of 
utility.

cr

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to