用途:在分布式客户端与服务器之间设计高并发、亚 50ms 延迟的实时同步方案,覆盖 WebTransport(HTTP/3)双向流、数据库到同步通道的事务性发件箱、CRDT 协同编辑以及 AI 令牌流编排。核心原则是数据库为唯一事实来源(实时通道只通知、不持久化),CRDT 消除并发编辑锁,背压管理避免高频流导致 UI 抖动。
主要能力:WebTransport 连接与双向/单向流、数据报;连接统计(smoothedRtt、bytesSent、packetsLost);事务性发件箱配合 CDC 保证一致性;序列号与重连回放;Yjs/Automerge CRDT 协同、awareness 光标与在线状态、Y.UndoManager 选择性撤销;心跳在线状态与流行病广播清理;AI 令牌流用 requestAnimationFrame 批量渲染、useTransition 缓冲、背压强制刷新;Protocol Buffers/MessagePack 序列化;Web Worker 承载传输;单连接多通道复用;WebSocket 回退。
使用方式:新项目优先 WebTransport,用 new WebTransport(url) 并 await ready;双向流用 transport.createBidirectionalStream(),单向推送用 createUnidirectionalStream(),高频状态用 datagrams;数据库写入与 outbox 插入放在同一事务,由 CDC worker 推送;每条消息带序列号,重连时回放缺失消息;协同编辑用 Yjs 或 Automerge,awareness 从 y-protocols/awareness 导入;撤销用自定义事务 origin 而非 ydoc.clientID;令牌渲染按帧批量刷新;检测 WebTransport 支持后再回退 WebSocket。
适用场景:实时协作 UI、发布订阅消息、WebTransport/WebSocket 连接、实时 AI 令牌流、在线状态跟踪、CRDT 冲突解决、多人应用。
限制:不适用于批处理管道、静态内容分发、无实时需求的请求-响应 API、纯离线应用。企业防火墙可能阻断 UDP/HTTP/3,需回退;高频流避免 JSON.stringify;需显式关闭流并监听 transport.closed 以防崩溃;CRDT 历史无界会导致文档膨胀,可用快照(LWW)处理无需历史的字段。若本地有 local-first 或 electricsql 技能,可将相应架构决策委派给它们。