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. 部署特性
- 命令行参数支持(配置文件路径、版本信息、安全模式)
- 版本信息管理
- 灵活的端口配置