Yes, you can have exactly-once delivery
blog.rongarret.info
Yes, you can have exactly-once delivery
1–10 of 140 posts
Re: Yes, you can have exactly-once delivery
#2Re: Yes, you can have exactly-once delivery
#3Re: Yes, you can have exactly-once delivery
#4Re: Yes, you can have exactly-once delivery
#5I don't see how you can guarantee at least one delivery, but maybe I've seen too many things disappear off busses, never to be seen again.
Re: Yes, you can have exactly-once delivery
#6Re: Yes, you can have exactly-once delivery
#7It makes sense to worry about this only if you're worried about wasting bandwidth in the event of network instability (since the same message may sometimes traverse the network multiple times) but that's not generally something engineers should worry about.
It's ironic how some people use this to try to talk down to 'junior' developers.
Anyone can memorise hearsay about distributed systems but few can speak from experience.
Re: Yes, you can have exactly-once delivery
#8I appreciate the insights here, but I am struggling to understand how “exactly one” can equate to “eliminate duplicates”. Let’s say someone arrived at my house and cut my grass, and I failed to confirm they had done so, so the company sent someone over to cut my grass again, maybe multiple times. It seems silly to claim my grass was cut exactly once, despite it consistently remaining at the same height. Obviously it…
The notion that there is no distinction between exactly once delivery and exactly once processing is very odd to me. In practice my processing needs to accommodate duplicates to be correct. If I had exactly once delivery my processing could be much simpler. If I could get exactly once delivery for free I would always choose it in a heartbeat.
Re: Yes, you can have exactly-once delivery
#9Re: Yes, you can have exactly-once delivery
#10The reason I think it's important to be pedantic about distinguishing between "delivery" and "processing" is that I have seen plenty of higher level systems that have incorrectly not implemented idempotency and had bugs as a result. I have seen many folks be confused by Kafka's "Exactly-Once Semantics" feature and introduce major bugs into message processing pipelines. The author, who clearly understands these fundamental design challenges, is not my problem. It's everyone else who struggles to design safe, idempotent exactly-once systems.