@ai-table/live-feed
v0.0.1
Published
## 文档:房间 -> 1:1 1. step1、step2 同步数据 2. message 3. awareness
Downloads
69
Readme
通讯流程设计
文档:房间 -> 1:1
- step1、step2 同步数据
- message
- awareness
文档:房间 -> n:1
思路一:消息中增加标识位
- step1、step2 同步数据
- message
- awareness
同样是上面的三种同步,只不过每次同步数据时都把 guid 带上,标识数据同步的是哪个文档的,以前房间就代表文档,所以不需要传
这样的设计意味着每一次 ws 链接(第一次连以及后续的断开重连),每一个文档都需要和服务器进行一次 step1 和 step2 的握手,预测消息密度会非常的大
实践中发现的一个问题是:新建 record 的操作需要走两次同步才可以完成数据传递,一次是新建动作,一次是新建对应的初始化数据
思路二:单条消息支持多个文档的 update
这种方式就是在思路一的基础上进行的扩展的,就是想实现一条同步消息中可以包含多个文档的更新:type-guid0-update-guid1-update...
这种方式理论上可行,并且可以解决思路一种的消息过密以及一个动作多次同步的问题