Comment by lisper
Yes, that is true. But why can't I choose to view "the system itself" as the thing that is on the other side of a de-duplicator?
It feels to me like an argument over whether or not humans can fly. An unassisted human cannot fly, but with some technological augmentation, they can. It seems a bit pedantic to deny that someone can fly from LA to New York simply because they have to get into an airplane to do it.
> why can't I choose to view "the system itself" as the thing that is on the other side of a de-duplicator?
because the "de-duplicator" would either:
* be somewhere else on an unreliable network (in which case we have the same problem)
* be on the same machine (or in the same process) as "the system itself" (in which case from a distributed systems perspective makes it the same thing)
> It seems a bit pedantic...
It is pedantic. The only reason that these "delivery" rules are popular is because of how many times programmers have gotten it wrong. Mostly by making assumptions that either:
* the network is reliable
* the message queue (or whatever) will de-duplicate messages for me