用途
该技能面向需要构建实时 UI 的开发场景,核心目标是使用 WebSockets、SSE(Server-Sent Events)以及降级轮询(fallback polling)来搭建可靠的实时界面,并配套重连(reconnect)与背压(backpressure)策略。
适用时机(Use When):
- 实时仪表盘、通知或协作功能
- 用户期望近实时更新
主要能力与工作流程
技能给出的工作流程(Workflow)包括:
- 依据方向性(directionality)与浏览器支持选择传输方式
- 定义重连、心跳与退避(backoff)策略
- 实现服务端扇出(fan-out)与速率限制
- 处理过期状态与冲突解决规则
- 对连接抖动(connection churn)与突发流量进行负载测试
决策框架
技能提供了传输方式选择的决策框架(Decision Framework):
- 当不需要双向通信时,服务端到客户端的流优先使用 SSE
- 当需要低延迟双向通信时使用 WebSockets
- 避免每个实例无界的内存扇出
- 为关键数据提供轮询降级方案
必查项与证据
必查项(Required Checks):
- 重连行为是确定性的
- 连接与消息均经过鉴权验证
- 背压可防止内存耗尽
- 实时链路失败时存在降级模式
证据包(Evidence Pack)要求:
- 重连风暴测试结果
- 鉴权失败测试证据
- 负载下的延迟与丢包率指标
- 降级 UX 验证记录
常见误区与反驳
技能还列出了常见合理化借口及反驳(Common Rationalizations And Rebuttals):
- “实时功能无需改动服务端即可添加。” → 连接鉴权与扩展需要后端设计。
- “不需要心跳。” → 死连接会静默累积。
- “向所有用户广播一切。” → 会带来隐私与成本问题。
退出标准
退出标准(Exit Criteria):
- 实时功能在网络不稳定时仍可用
- 已定义运维限制与告警
限制
资料未提供具体代码示例、安装命令、支持的编程语言或框架、收费与价格信息、平台限制等细节,这些内容暂未提供。