本集合中所有库都是在开源项目中广泛使用且在2024年积极维护的库,排名靠前的库是当前使用比较广泛的,不全面但够用
Rust异步运行时
tokio:异步运行时
async_std:与标准库兼容性较强的运行时
monoio:字节开源
smol:一个小型快速的运行时
RustWeb框架&网络通信
axum:注重人体工程学和模块化的 Web 应用程序框架,Tokio团队开源
axum-server:设计用于axum的hyper实现
actix:高性能、异步、强大的路由系统和中间件支持
rocket:简洁的语法、强大的类型安全和可扩展性
volo:字节跳动服务框架团队研发的轻量级、高性能、可扩展性强、易用性好的 Rust RPC 框架,借鉴了actix、axum、hyper、tokio、tonic、tower
- Thrif
- gRPC
hyper:底层HTTP实现
- 专注于实现 HTTP 协议本身,包括解析 HTTP 请求和构建 HTTP 响应
tower:用于构建可组合的网络服务的库,Tokio 官方支持的构建异步网络服务中间件框架,Axum,Tower-web,Tonic 这些项目,都广泛使用了 Tower 这层抽象
- 适用于构建复杂的网络服务架构,需要灵活地组合各种功能模块的场景
- 适用于需要在不同的网络协议之间进行切换或同时支持多种协议时的场景
tonic:基于 HTTP/2 和 gRPC 服务的库
- 支持 gRPC 的双向流、一元调用等特性,也可以作为HTTP/2处理使用
- 适用于需要构建高性能的分布式系统,并且使用 gRPC 或 HTTP/2 进行通信的场景
prost:Protocol