Discussion about this post

User's avatar
Antonios Katsarakis's avatar

Brilliant article! Very interesting to get a a glimpse of what confluence and convergence mean.

Two minor comments that might improve the decipheration of cross-domain consistency:

- Linearizability (single object - real time guarantee) is a better match with Strict serializability (across object - real time). Sequential consistency (single object - logical time) matches with Serializability (across object - logical time).

- Consensus is not necessary for distributed write operations - even for systems tolerating faults under synchrony (see ABD). Rather consensus is necessary to implement operations with Read-modify-write semantics.

Expand full comment
Roy Fielding's avatar

Awesome summary! I've always thought of "eventual consistency" as being more of a description of system behavior rather than a specific function on consistency; somewhat more like the sealing of confluent streams, but not quite. What I usually have in mind is traditional contract law/promises, where various components are making statements about "transactions" which are really just promises of a future state being consistent with what we promised in the past. Hence, not really transactions at all, but more systemic in terms of how people work/shop/deliver real goods.

Expand full comment
8 more comments...

No posts