Skip to content

SuWS 是什么?

SuWS(速维通)是一款使用 go 语言编写的高性能 WebSocket 通信框架。如果您想开发基于 WebSocket 通信的业务型项目,无论是小型还是中大型项目, SuWS是您的不二之选。

完全参考 GatewayWorker 设计的API,丰富的开发文档,完善的HTTP管理接口:客户端连接管理、用户管理、群组管理、消息推送、RPC调用、WebHook通知等; 助您快速实现基于 WebSocket 的业务型项目。

速维通

SuWS (Simple Universal WebSocket Server)寓意:

  • S - Simple 简单、简洁、开箱即用特性
  • U - Universal 通用、具有广泛的适用性和跨平台能力
  • W - WebSocket 仅支持WebSocket协议
  • S - Server 服务器端实现

使用场景

  • WebSocket实时通讯
  • APP、小程序、Web网页等即时推送
  • 客服系统
  • 即时IM聊天
  • 游戏实时数据
  • 实时数据可视化
  • 实时数据统计
  • 实时数据监控
  • RPC远程过程调用

开发体验

性能测试

核心特性

SuWS 提供了完整的实时通信解决方案,支持大规模客户端连接管理、用户身份管理、群组通信、安全认证等多种企业级特性。

1. WebSocket连接管理

  • 支持WebSocket客户端连接和断开管理
  • 自动生成客户端ID和认证信息
  • 支持心跳检测机制(Ping/Pong)
  • 自动清理超时连接(45秒无心跳)

2. 客户端管理

  • 客户端身份标识(client_id)
  • 客户端级Session管理
  • 客户端在线状态查询
  • 主动断开指定客户端连接

3. 用户绑定系统(UID)

  • 支持将客户端与用户ID(UID)绑定/解绑
  • 用户在线状态管理
  • 支持向指定UID的所有客户端发送消息
  • 用户级Session管理

4. 群组管理

  • 客户端加入/离开群组
  • 群组解散功能
  • 群组内消息广播
  • 群组成员查询和统计

5. 消息推送功能

  • 向所有客户端广播消息
  • 向指定客户端发送消息
  • 向指定UID的所有客户端发送消息
  • 向群组内客户端发送消息
  • 支持排除特定客户端或用户

6. RPC调用支持

  • 支持向客户端发起RPC调用
  • 等待并处理客户端RPC响应
  • 超时机制(10秒)

7. 安全认证机制

  • Token认证模式
  • 签名验证模式(安全模式)
  • 认证失败次数限制和IP封禁
  • 请求签名验证(基于时间戳)

8. 监控和统计

  • 服务运行状态监控
  • 内存使用情况统计
  • 在线客户端和用户统计
  • 群组信息统计
  • 健康检查接口
  • 运行时信息查看

9. 配置管理

  • JSON配置文件支持
  • 配置热重载功能
  • Webhook配置支持
  • 连接池配置

10. Webhook通知

  • 客户端绑定/解绑事件通知
  • 用户上线/下线事件通知
  • 心跳事件通知
  • 可配置的Webhook超时和连接池

11. 错误处理和日志

  • 详细的错误码和错误信息
  • 可配置的日志级别(调试/发布模式)
  • 结构化日志输出

12. 性能优化

  • 细粒度读写锁提高并发性能
  • 连接池管理
  • 心跳检测间隔自适应调整
  • 内存使用优化

13. API接口

  • 完整的 RESTful API接口
  • 分组管理(公共接口/认证接口)
  • 丰富的查询和管理接口

14. 部署特性

  • 命令行参数支持(配置文件路径、版本信息、安全模式)
  • 版本信息管理
  • 灵活的端口配置