Agent Skills
返回列表
💻

实时通信架构助手

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/kg-websocket-engineer。

技能介绍

要解决的实时通信问题

当业务需要双向消息交互时,WebSocket/Socket.IO 常面临三类具体问题:多台服务器部署时同一房间的消息无法同步,导致部分客户端收不到消息;连接断开后无法准确追踪用户在线状态,出现“幽灵连接”或状态不一致;高并发场景下缺乏统一的鉴权和心跳保活机制,容易引发连接异常中断。这些问题本质是缺乏一套从消息模型到扩展策略的系统设计。

技能如何工作

该技能围绕实时通信核心链路展开工作,核心能力包括双向消息设计、Redis 横向扩展、在线状态维护和房间管理。

  • 步骤1:先明确消息模型,拆解事件类型、房间划分和鉴权逻辑,避免后续扩展时出现事件混乱。
  • 步骤2:设计连接层的握手鉴权和心跳保活机制,确保连接建立与维持的安全性和稳定性。
  • 步骤3:针对多节点部署,用 Redis pub/sub 实现跨服务器的消息广播,保证同一房间消息在所有实例中同步。
  • 步骤4:维护在线状态和房间数据,处理多节点间的状态一致性,避免用户重复登录或房间成员列表错误。
  • 步骤5:输出结构化工件 WsDesign,包含传输层、鉴权、扩展策略和注意事项,可直接交给下游服务做部署参考。

适用边界与注意点

该技能适用于需要双向交互的场景,如即时通讯、协同编辑、实时协作工具。若只需单向推送(如通知类消息),建议使用 SSE 而非 WebSocket,避免不必要的双向连接开销;不涉及特定网关硬件的配置与适配,聚焦应用层协议设计。

使用场景

  • 技术负责人要支持协同编辑,需明确WebSocket事件、房间和鉴权模型。
  • 后端工程师让多台服务器同步房间消息,用Redis pub/sub广播避免漏发。
  • 实时通信开发者需实现在线状态跟踪,维护断线后的一致性与成员列表。

适合人员

  • 后端工程师:负责从零设计WebSocket握手鉴权与心跳保活。
  • 实时系统架构师:规划多节点横向扩展与Redis广播消息模型。
  • IM应用技术负责人:需要统一房间管理和在线状态一致性。