3 ms·
The article talks about this, in the case where your clients are syncing with a centralised server you don't necessarily need to use CRDTs, and it might be simp
by jamil7 4y ago
The article talks about this, in the case where your clients are syncing with a centralised server you don't necessarily need to use CRDTs, and it might be simpler not to.
- dinosaurdynasty 4y agoBasic CRDTs are still useful (idempotency, associativity, and commutativity are powerful mental tools for all distributed systems, even OT) but you can massively simplify the CRDTs if you assume a super-peer (aka centralized server all updates go through). Example: last-write-wins register, which is a (v, t) pair, normally has a merge function of "return the pair with the greatest t (with deterministic tie breaking for same t)", and for a super peer just have v's and "the latest value to hit the server wins".
- preseinger 4y agoIf you have a centralized server there is no reason to use CRDTs, is there?
- dinosaurdynasty 4y agoIt's still very useful mental tool, since a centralized server + clients is still a distributed system. But yeah, you shouldn't use the really complex CRDTs in that case. (And in most cases to be honest.)
- layer8 4y agoThis doesn’t address how changes that were committed offline are merged on the central server once the clients are online again.
- jamil7 4y agoNo but since they’re all getting merged in one place you don’t really need a CRDT for that although you could. That was my point.