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
