1 min readSep 11, 2020
I think there is no bulletproof solution because there is not a single global truth at a given instant T. Due the nature of such async distributed systems, you need an hybrid solution (yes store the past if acceptable technically (maybe with ttl) + business rule; yes retry if the version is not there yet). Being purely events driven (+Event-Carried State Transfer) is a way to prevent this (you don't "ask": this is what is causing the issues; you only receive (what's needed hopefully))