[zeromq-dev] Requirements for reliability
steven.mccoy at miru.hk
Thu Apr 8 04:15:43 CEST 2010
On 7 April 2010 22:51, Apps, John <john.apps at hp.com> wrote:
> 1. scan lottery form from customer and submit to backend
> 1a. process lottery form and store details (on backend)
> 2. receive confirmation of processing and print ticket (receipt)
> 1 and 2 MUST be reliable, i.e., they are in essence a transaction.
> (Legally, the ticket is as good as whatever the prize happens to be
> -potentially millions- until such time as the draw has taken place.)
> One could argue that the onus of ensuring consistency lies in the code
> written on client and server; however, I think that is what the idea of
> 'reliability' in this context is meant to avoid?
These need to be certified, not just reliable. You can accept duplicate
delivery, but there is no need for guaranteed delivery. The client must
wait for confirmation of delivery of the scan, and the server must wait for
confirmation of delivery of the ticket.
It should really be a transactional delivery scheme, the client scans and
sends the number to the server on a certified transport and the server
generates a response. Only when the client has printed the ticket receipt
successfully should the server complete the transaction, otherwise the
record should be discarded.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the zeromq-dev