- Eine interaktive Einführung in Conflict-free Replicated Data Types (CRDTs)
- Eine Art von Datenstruktur, die auf verschiedenen Computern (Peers) gespeichert wird und sofort aktualisiert werden kann, ohne Netzwerkanfragen oder Abstimmung mit anderen Peers
- CRDTs eignen sich hervorragend, um umfangreiche kollaborative Apps wie Google Docs und Figma ohne Synchronisationsanforderungen über einen zentralen Server zu bauen
- Es gibt zwei Arten von CRDTs: zustandsbasierte und operationsbasierte
- Zustandsbasierte CRDTs übertragen den gesamten Zustand zwischen Peers, und ein neuer Zustand entsteht durch das Zusammenführen aller Zustände
- Operationsbasierte CRDTs übertragen nur die Aktionen, die ein Nutzer ausführt, und diese können zur Berechnung des neuen Zustands verwendet werden
- Dieser Artikel konzentriert sich auf zustandsbasierte CRDTs und erklärt, wie man primitive CRDTs erstellt, wie man sie zu komplexeren Datenstrukturen zusammensetzt und wie man einen kollaborativen Pixel-Art-Editor baut
- Vorgestellt wird das Konzept des Last Write Wins Register (LWW Register), ein einfacher Typ von CRDT, der einen einzelnen Wert hält und per Zeitstempel den aktuellen Wert mit dem zuletzt geschriebenen Wert überschreibt
- Außerdem wird das Konzept des Last Write Wins Map (LWW Map) vorgestellt, ein komplexerer Typ von CRDT, der einen oder mehrere Werte enthält
- Enthält einen interaktiven Playground, der hilft zu verstehen, wie LWW Registers und LWW Maps funktionieren
- Der nächste Artikel wird sich darauf konzentrieren, mit den in diesem Beitrag beschriebenen Konzepten einen kollaborativen Pixel-Art-Editor zu bauen
2 Kommentare
Ziemlich interessant. Ich habe mich schon gefragt, wie Apps mit Echtzeit-Zusammenarbeit wie Google Docs eigentlich umgesetzt werden...
Hacker-News-Kommentar