用于 Node.js 的实时模型同步引擎
Racer 是一个用于 Node.js 的实时模型同步引擎。通过利用 ShareDB,多个用户可以通过 Operational Transformation 实时地与相同的数据进行交互,该算法是一套复杂的冲突解决算法,可在实时和离线客户端中运行。ShareDB 还支持跨多个服务器的 PubSub,以实现横向扩展。客户端可以通过查询和特定文档来表示数据订阅和检索,因此不同的客户端可以订阅不同的重叠数据集。在这种复杂的后端之上, Racer 提供了一个简单的模型和事件接口,用于编写应用程序逻辑。
目前有两个演示程序,它们包含在 racer-examples 仓库中。
实时查询订阅 – 客户端可以订阅与当前会话相关的有限信息集。支持文档和实时查询订阅。目前支持任意 Mongo 查询。 * 冲突解决 – 利用 ShareDB 的 JSON 操作转换算法, Racer 会发出事件,将冲突的客户端状态最终保持一致。除了同步 API 之外,模型方法还具有回调函数,用于在服务器响应后处理已解决的状态。
即时交互 – 模型方法似乎立即生效。与此同时,Racer 会向服务器发送更新并检查冲突。如果更新成功,则将其存储并广播给其他客户端。
暂无开放 Issues,或尚未同步最近议题。