4 ms·
Hmm, how I handle UNKNOWN in our distributed system (10M+ monthly users running on $0 cost infrastructure, https://github.com/amark/gun https://github.com/amark
by marknadal 7y ago
Hmm, how I handle UNKNOWN in our distributed system (10M+ monthly users running on $0 cost infrastructure, https://github.com/amark/gun https://github.com/amark/gun ) is to say that originator is responsible for retries until satisfactorily ACKed.
This means all other nodes in the network (routers, relays, security, storage, etc.) can safely error or not recurse or not retry, without any loss in redundancy guarantees.
Either the operation did succeed silently, and it is OK for originator to try again (idempotency keeps this safe), or things never finished processing, and it is OK to try again despite being out of order (CRDTs keep this safe).
- Rapzid 7y agoThis article brought to mind another article which I personally found a bit more profound: https://bravenewgeek.com/you-cannot-have-exactly-once-delivery/ https://bravenewgeek.com/you-cannot-have-exactly-once-delive...