libuvcpp 是基于 libuv 打造的现代 C++11 异步 I/O 封装库,当前最新版本为 v1.8.2,采用 MIT 许可证,在保留 libuv 原生性能的基础上,补充了符合 C++ 使用习惯的能力,包括 RAII 资源管理、std::function 回调,同时支持异步回调、同步等待双运行模式。
它采用分层模块化设计,核心功能覆盖多个场景:
基础网络层:提供 TCP/UDP 客户端与服务端抽象,自带线程池、缓冲区管理、CPU信息查询等通用工具,可选开启 TCMalloc 风格自定义内存池。
Web协议栈:原生支持 HTTP/1.1、符合 RFC 6455 标准的 WebSocket,可通过 OpenSSL 实现 HTTPS/WSS 能力;额外支持 HTTP/2(依赖 nghttp2),以及基于 QUIC 传输的 HTTP/3(RFC 9114,OpenSSL ≥3.2 环境可用)。
应用层框架:内置轻量 Web 应用组件,支持路由注册、访问日志、CORS 中间件、静态资源托管、文件上传等能力,几行代码即可搭建可运行的 Web 服务。
扩展生态:自带无需第三方依赖的原生 RESP2/RESP3 Redis 客户端,内置 SQLite/MySQL/PostgreSQL/ODBC/MongoDB 多后端数据库支持,还提供可选的 Brotli 压缩、yyjson 高性能JSON解析、跨语言C ABI 导出等能力。
高并发扩展:支持进程内多事件循环横向扩展,可将连接 I/O 分摊到多个工作循环充分利用多核性能,HTTP 场景通过内核分流实现负载分发,QUIC/HTTP3 场景通过 UDP 端口复用实现流量分摊,实测单进程8循环可达约40万级QPS。
该库支持 Windows、Linux、macOS 全平台,提供自包含预编译包、deb/rpm 系统包
点击空白处退出提示
















评论