周刊: https://www.ruanyifeng.com/blog/2023/11/weekly-issue-278.html
GitHub 仓库: https://github.com/lxzan/gws
介绍
GWS 是一个用 Go 编写的非常简单、快速、可靠且功能丰富的 WebSocket 实现。它设计用于高并发环境,构建"接口", "代理", "游戏", "流媒体", "消息发布订阅"等服务。它提供非常简单的 API, 您可以轻松编写自己的服务器或客户端。
为什么选择 GWS
-
简单易用
- 用户友好的 API 设计: 简单易懂的应用程序接口,让服务器和客户端的设置变得轻松简单。
- 编码效率: 最大限度地减少实施复杂的 WebSocket 解决方案所需的代码量。
-
性能良好
- 零动态内存分配 I/O: 内置多级内存池,可最大限度地减少读写过程中的动态内存分配。
- 性能优化: 专为快速传输和接收数据而设计,是时间敏感型应用的理想之选。
-
稳定可靠
- 事件驱动式架构: 即使在高度并发的环境中,也能确保稳定的性能。
- 健壮的错误处理: 管理和减少错误的先进机制,确保持续运行。
特性
- 事件驱动式 API
- 广播
- 代理拨号
- 读写过程零动态内存分配
- 支持并发和异步非阻塞写入
- 通过 Autobahn-Testsuite 所有测试用例
基准测试
- 1000 连接
- WSL2 环境, Ubuntu 系统, 限制 2C4T
