|
|
|
|
|
by hem777
1167 days ago
|
|
We don’t assume “reliable delivery” in AP or eventually consistent systems. We assume “once all messages have been delivered…” So if you have all messages and the two properties above, a total order can be derived. You’re correct to say that causal order != total order as such but with the use of correct primitives, like Lamport Causal Clocks, we can get a nice and clean linear order of events :) |
|
it's a trick question, you can't resolve d without information loss, unless you bring in additional knowledge from the application
you can resolve d with information loss by defining some heuristic for ordering concurrent updates, a.k.a. last-writer-wins, basically picking one of those updates deterministically
that gets you a total order, but it's cheating: whichever concurrent updates you don't choose are lost, and that violates consistency for any replica(s) that are based on that state
there is no free lunch