Right. But, what if the client (eg browser) would ask the system if the message has been fully processed? Then the client can re-send the message if the Server lost the original message? For example:
client: "Hey, buddy! Did you process that message I sent you? Here is the ID."
Server: "No. Send it again."
client: "Ok. Here is the message again."
[Server processes it, completes processing it, sends back response.]
If done this way, wouldn't you be able to reduce the need for persistence of the original message and events from the client? (Not that persistence of the original event on the Server would be a bad thing.)