- Introducción interactiva a los Conflict-free Replicated Data Types (CRDTs)
- Un tipo de estructura de datos que puede almacenarse en distintas computadoras (pares) y actualizarse de inmediato sin solicitudes de red ni confirmación con otros pares
- Los CRDTs son excelentes para construir aplicaciones de colaboración avanzadas como Google Docs y Figma sin necesidad de sincronización mediante un servidor central
- Existen dos tipos de CRDTs: basados en estado y basados en operaciones
- Los CRDTs basados en estado transmiten todo el estado entre pares, y el nuevo estado se obtiene fusionando todos los estados
- Los CRDTs basados en operaciones transmiten solo las acciones que realiza el usuario, y estas pueden usarse para calcular el nuevo estado
- Este artículo se enfoca en los CRDTs basados en estado y explica cómo construir CRDTs primitivos, cómo componerlos en estructuras de datos más complejas y cómo crear un editor colaborativo de pixel art
- Presenta el concepto de Last Write Wins Register (LWW Register), un tipo simple de CRDT que almacena un solo valor y usa marcas de tiempo para sobrescribir el valor actual con el último valor escrito
- También presenta el concepto de Last Write Wins Map (LWW Map), un tipo más complejo de CRDT que almacena uno o más valores
- Incluye un playground interactivo para ayudar a entender cómo funcionan los LWW Registers y los LWW Maps
- El siguiente artículo se enfocará en construir un editor colaborativo de pixel art usando los conceptos explicados en este artículo
2 comentarios
Está bastante interesante. Tenía curiosidad por cómo están implementadas las apps que permiten colaboración en tiempo real, como Google Docs...
Opiniones de Hacker News