SuperAPI AI 工具集

system-type-real-time

通用与其它

查看项目

更新于 10-16 00:31

技能介绍

用途:面向实时和协作系统的架构设计参考,整理持久连接与实时状态同步相关模式、故障模式与反模式。

主要能力: 一、连接模式。WebSocket(全双工持久连接,适合聊天、协同编辑、多人游戏、实时交易;不适合单向推送或更新稀疏场景);SSE(基于 HTTP 的单向服务端推送,支持 Last-Event-ID 自动重连);长轮询(WebSocket/SSE 不可用时的回退);WebTransport(基于 HTTP/3 的多路复用双向传输,支持可靠流与不可靠数据报)。 二、连接生命周期。建立→认证→心跳→恢复。握手时用短期令牌认证,避免只依赖 Cookie;心跳间隔常见默认 30 秒,在线状态敏感系统用 15 秒;重连采用带抖动的指数退避并设置上限,携带最后序列号便于续传。 三、状态同步。服务端权威状态、乐观更新与服务端对账、客户端预测;OT 需中心服务器定序,适合文本协同;CRDT 无需协调即可收敛,适合离线协作与点对点。版本与定序提供序列号、向量时钟、混合逻辑时钟、Lamport 时间戳。 四、冲突解决。LWW 适合配置类字段但不适合累加型数据;应用层合并策略区分可接受与灾难性冲突;CRDT 提供 G-Counter/PN-Counter、G-Set/OR-Set、LWW-Register、文本 CRDT(RGA、YATA,如 Yjs、Automerge)。 五、在线状态与感知。基于心跳的在线/离线检测,在快速检测与稳定状态间权衡;光标位置与选区需节流广播并插值平滑;输入指示只发状态转换而非连续事件。 六、扇出。按连接扇出、基于频道路由、感知在线的投递;注意 N 平方问题,可通过节流、视口感知扇出、聚合更新、分层状态缓解;大规模可用 Redis Pub/Sub、NATS、Kafka,以及连接亲和与频道分片。 七、重连与再水合。可恢复连接配合序列号重放,缓冲区常用 5-10 分钟滑动窗口;状态追赶支持增量同步、全量同步与混合策略;离线队列中的操作需服务端校验和转换。

限制:资料为设计模式指南,未提供具体实现代码、安装命令、收费信息或平台支持细节,这些内容暂未提供。