Braid 协议 分布式同步的HTTP 库和协议

Braid 是一个开放的工作组,为可互操作的状态同步创建算法、应用程序、工具和标准。加入我们!

我们的目标是能够像读取和写入局部变量一样轻松地读取和写入分布式状态,在我们使用的所有网络计算系统中进行协作。

我们每两周召开一次公开会议,讨论应用程序和系统需求,确定共性,并就共享协议达成共识。

Braid-HTTP:HTTP 同步

Braid-HTTP 是 HTTP 的扩展,可将其从状态传输推广到状态同步协议。

它将以下功能添加到 HTTP:

  1. 对 HTTP 资源进行版本控制
  2. 订阅 GET 请求
  3. 范围请求的修补程序
  4. 用于指定 OT 或 CRDT 行为的 Merge-Types

总之,这些功能使 Web 资源能够在多个客户端、服务器和代理之间自动同步,并支持多个写入器在任意网络延迟和分区下同时进行任意编辑,同时保证使用 OT、CRDT 或其他算法的一致性。

Web 应用程序可以使用 Braid 扩展为任何 HTTP 资源提供协作编辑、无服务器脱机模式和点对点网络。标准库使将这些功能添加到现有 Web 应用程序和浏览器中变得容易。

在 IETF 互联网草案中阅读更多内容

使用 Braid 协议

Braid 向后兼容当今的 Web,可在当今的浏览器中运行,并且易于添加到现有的 Web 应用程序中。

我们为越来越多的语言提供了很好的库:

您可以通过 Braid-Chrome 扩展程序使用 Chrome 中的编织功能。

同步的 Braid 模型

实现

协议实现:

浏览器扩展:

状态抽象库:

算法:

  • 菱形类型:世界上最快的文本 CRDT
  • 反物质:世界上第一个历史修剪文本CRDT
  • Sync9:用于文本和 JSON 的 CRDT+OT
  • SyncX:Sync9
  • Shelf:一个非常简单且有用的 JSON CRDT
  • Diffsync:使用递归 3 向合并的 CRDT+OT
  • Tiny-Merge:一个精心设计的实用 CRDT 库
  • CR-SQLite:将 SQLite 转换为非常有用的 CRDT
  • 门户:任何 OT 或 CRDT 的复制、移动和包装操作
  • Simpleton:适用于任何 CRDT 的超级简单快速的轻量级客户端

兼容性:

应用:

分类: 编程语言 标签: Braid 状态同步 Braid-HTTP 协作编辑 CRDT 发布于: 2024-05-27 05:36:35, 点击数: