With at-least-once, you can retry until your target confirms delivery. Trivial.
Exactly once means handling all sorts of nasty cases. E.g. delivered but not confirmed by recipient due to crash. Delivered but not yet processed by client because its in incoming queue. (Sending again would mean >1). Not trivial to do unless you have a deduplication layer on the recipient side. - Niek On Wed, Aug 7, 2013 at 4:00 PM, Yang <teddyyyy...@gmail.com> wrote: > I wonder why at-least-once guarantee is easier to maintain than > exactly-once (in that the latter requires 2PC while the former does not , > according to > > http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf > ) > > if u achieve at-least-once guarantee, you are able to assert between 2 > cases "nothing" vs ">=1 delivered", which can be seen as 2 different > answers 0 and 1. isn't this as hard as the common Byzantine general > problem? > > Thanks > Yang >