We talked about the fashion of fire-and-forget regarding message passing; to understand this a bit more, let's take a look at a diagram explaining message delivery semantics.
The following diagram explains the semantics of message delivery; when we send messages over a network, there are chances of it getting delivered and also chances of it being lost. Also, in the case of an unsuccessful or successful attempt to deliver a message, we might try to send a message or we might not. It depends on us if want to try sending a message exactly once and then not the second time or so on.
Based on these assumptions, we can make some formal terminologies specifying what we discussed, and we call them:
- At most once
- At least once
- Exactly once
The diagram explains each of the three approaches in simple terms. It's important...