Appearance
04 · 实时协作
字数: 0 字 时长: 0 分钟
一句话
多人同时编辑同一文档(类似飞书/Notion)要 实时同步 → 常用 WebSocket 推变更 + OT/CRDT 解决冲突。
和你日常工作的关系
两年经验可能只写过普通 REST。协作类要理解:并发编辑时不能简单「后保存覆盖前保存」。
核心概念
| 概念 | 说明 |
|---|---|
| WebSocket | 全双工,服务端主动推 |
| OT(操作变换) | 把「插入/删除」操作在并发下变换到一致顺序 |
| CRDT | 无中心合并的数据结构,最终一致 |
| 版本/向量时钟 | 判断谁先谁后 |
前端职责(通常)
- 建立 WS 连接、心跳、重连
- 本地编辑 → 发 operation → 收他人 operation → 应用到编辑器
- 光标/选区同步(可选)
- 离线队列、冲突提示
演示
无简化 HTML(依赖编辑器 + 服务端)。建议读课程 04-技术讲解.md 画流程图理解。
面试怎么说
- 问题:多人同时改同一段文字丢数据。
- 方案:WS 实时 + OT/CRDT(说清你项目用的哪一种)。
- 难点:断线重连、版本对齐、大文档性能。
课程资料
04. 实时协作/课件资料/04-技术讲解.md
