←back to thread

222 points charlieirish | 1 comments | | HN request time: 0.217s | source
Show context
ezekg ◴[] No.43537495[source]
It'd be nice if the post went into how conflict resolution will (?) work because that's the hard part here and the main selling point imo.
replies(4): >>43537590 #>>43537889 #>>43540353 #>>43541448 #
bob1029 ◴[] No.43537590[source]
Conflict resolution can't work in a general sense.

How you reconcile many copies of the same record could depend on time of action, server location, authority level of the user, causality between certain business events, enabled account features, prior phase of the moon, etc.

Whether or not offline sync can even work is very much a domain specific concern. You need to talk to the business about the pros & cons first. For example, they might not like the semantics regarding merchant terminals and offline processing. I can already hear the "what if the terminal never comes back online?" afternoon meeting arising out of that one.

replies(3): >>43539211 #>>43539276 #>>43540843 #
1. larkost ◴[] No.43540843[source]
CFRDT (Conflict Free Replicated Data Types) can absolutely reconcile many-writers situations. There are a number of these systems, and they all have their own rules around that replication (sometimes very complicated rules that are hard to reason about). As long as you can live inside those rules, and accept that they are going to have sharp corners that don't quite make sense for your use case, then you can get a virtually free lunch there.

But living inside of those rules (and sometimes just understanding those rules) can be a big ask in some situations, so you have to know what you are doing.