Azure Fluid Relay 概述
Fluid Framework 是一种独立于平台的开源框架。 Azure Fluid Relay 是 Fluid Framework 的托管产品/服务,可帮助开发人员构建实时协作体验并在连接的 JavaScript 客户端之间实时复制状态。
什么是 Fluid Framework?
Fluid Framework 是一组用于分发和同步共享状态的客户端库。 这些库允许多个客户端使用编码模式(与用于处理本地数据的编码模式类似)同时创建和操作共享数据结构。
有关更多文档,请参阅 FluidFramework.com。
为何使用 Fluid?
因为构建低延迟的协作体验困难重重!
Fluid Framework 提供:
- 具有数据持久性并以客户端为中心的应用程序模型,不需要自定义服务器代码。
- 采用熟悉的编程模式的分布式数据结构。
- 非常低的延迟。
Microsoft 开发人员已将协作内置于许多应用程序中,但许多应用程序需要使用特定于应用程序的服务器端逻辑来管理协作体验。 为了降低创建协作应用程序的复杂性,Microsoft 投入大量资金,于是就有了 Fluid Framework。
若是你完全不需要在服务器代码上投资,你觉得如何? 想象一下,你可以使用一台采用轻量级和低成本设计的常规用途服务器。 你可以把开发工作的重心放在客户端体验上,由系统为你处理数据同步。 这一切,Fluid 都可以为你实现。
面向客户端开发人员
使用 Fluid Framework 生成的应用程序在服务器上不需要任何自定义代码即可启用复杂的数据同步方案,例如跨文本编辑器的实时键入。 客户端开发人员可以专注于客户体验,让 Fluid 来完成保持数据同步的工作。
Fluid Framework 可与你选择的应用程序框架配合使用。 无论你更喜欢纯 JavaScript 还是 React、Angular 或 Vue 等框架,Fluid Framework 都能让构建协作体验的过程变得简单灵活。
Fluid 的工作原理
Fluid 旨在提供性能卓越的协作体验。 为了实现此目标,团队尽可能让服务器逻辑保持简单、轻量。 这种方法有助于确保以较低的服务器成本在客户端之间进行几乎即时的同步。
为了保持服务器的简单性,每个 Fluid 客户端都负责自己的状态。 以前的系统会在服务器上保留真实来源,而 Fluid 服务负责接收数据操作,对操作进行排序,并将排序后的操作返回给客户端。 无论接收操作的顺序如何,每个客户端都能够使用该序列独立准确地生成当前状态。
以下步骤是一个典型的流程。
- 客户端代码在本地更改数据。
- Fluid 运行时将该更改发送到 Fluid 服务。
- Fluid 服务对该操作进行排序并将其广播给所有客户端。
- Fluid 运行时将该操作合并到本地数据中并引发“valueChanged”事件。
- 客户端代码处理该事件(更新视图、运行业务逻辑)。