microsoft / FluidFramework

Library for building distributed, real-time collaborative web applications
https://fluidframework.com
MIT License
4.71k stars 531 forks source link

Doc: Is Fluid OT or CRDT? #8920

Closed DLehenbauer closed 1 year ago

DLehenbauer commented 2 years ago

A FAQ that would be nice to address in the documentation is if Fluid is an OT or CRDT based system.

I think the most accurate answer is that Fluid works well with both OT and operation based (CmRDT) algorithms, as our system is optimized around real-time broadcast of messages.

While one could use the Fluid infrastructure to exchange state snapshots between clients, as in CvRDTs, it's wasteful to layer a fully decentralized algorithm on top of a total order broadcast.

(Tagging @yann-achard-MS @ruiterr and @jack-williams for additional input.)

DLehenbauer commented 2 years ago

@tylerbutler - This PR for the 'crdt.tech' website is a good example of the target audience for this FAQ: https://github.com/ept/crdt-website/pull/29

Ideally, the information they would have taken away from our documentation is that:

a) The service part of Fluid is OT/CRDT agnostic and possibly of interest to CRDT developers looking for a managed backend solution.

b) Some of the built-in Fluid DDS implementations may be of general interest to CRDT researchers.

ghost commented 1 year ago

This issue has been automatically marked as stale because it has had no activity for 180 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework!