前言
上一篇文章探讨了 RGA 算法的原理与实现,本文我们将介绍另一种 CRDT 算法——YATA。
YATA 全称为 Yet Another Transformation Approach,于 2016 年由 Kevin 在论文 Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types 中提出。
大约 14 分钟
上一篇文章探讨了 RGA 算法的原理与实现,本文我们将介绍另一种 CRDT 算法——YATA。
YATA 全称为 Yet Another Transformation Approach,于 2016 年由 Kevin 在论文 Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types 中提出。
CRDT 全称 convergent or commutative replicated data type (CRDT),是近年来分布式领域的新宠。
与其它分布式系统不同,CRDT 在设计上放弃了共识;这意味着一个 CRDT 副本执行操作时,完全无需与其它副本进行协商,大大提升了副本执行效率。
没有协商并不代表副本数据之间会有差异,CRDT 通过良好的数据结构设计来使所有副本最终达到一致,但前提是任何副本执行的操作都必须通过网络传输并应用到其它副本,即使这些操作到达时是乱序的,但最后的数据仍然保证一致。