
往期回顾
代码开源地址:https://github.com/0604hx/rust-journey
🚀 Web 框架
| 名称 | 性能(QPS) | WebSocket / SSE | GitHub ⭐ | 最新版本发布日期 | 备注说明 |
|---|---|---|---|---|---|
| Actix Web | 极高(wrk 单线程 QPS > 100k) | ✅ 内建支持 | ~23.5k | 2025‑07‑01 | 超高性能,适合高并发场景,actor 架构。 |
| Axum | 很高(QPS > 200k,Tower 架构) | ✅ via 插件 / 自定义支持 | ~22.5k | 2025‑06‑10 | 类型安全,异步友好,生态活跃。 |
| Warp | 较高(QPS > 200k) | ✅ warp_ws 插件 | ~9.9k | 2024‑12‑12 | 声明式路由,组合灵活。 |
| Poem | 较高(接近 Warp 性能) | ✅ 内建支持(含 SSE) | ~4.1k | 2025-07-28 | 支持 OpenAPI、GraphQL 等,功能丰富。 |
| Salvo | 中等(社区基准 QPS 偏低) | ✅ 内建支持 | ~3.8k | 2025‑07‑19 | 中文文档丰富,易上手,适合中小项目。 |
| Rocket | 偏低(QPS < 160k,默认同步) | ✅ via tokio / 插件 | ~25.3k | 2024‑05‑24 | 简洁语法,适合原型开发和教学。 |
| Tide | 中低(QPS ~127k,高并发性能下降明显) | ✅ via tide-websockets 插件 | ~5.1k | 约 2021‑01(v0.16) | async-std 驱动,轻量框架,适合入门学习。 |
| Hyper | 极高 | ❌ 原生无 | ~15.4k | 2025‑06‑28 | 低级 HTTP 库,不是完整框架 |
📝 说明:
- 数据截至 2025-07
- 性能数据 来自社区 wrk 基准测试及 Rust Web Framework Benchmarks 等;
- WebSocket / SSE 支持 体现了原生或插件支持情况;
- GitHub 收藏数 为近似值,仅供参考;
- 最新版本发布日期 体现维护活跃度,Tide 暂无 1.0 稳定版。
Tokio
上述框架,好几个都是基于 tokio ,接下来我们了解下这个牛逼的库👍
在 Rust 的异步编程领域,Tokio 是一个核心基础设施,被众多 Web 框架(如 Axum、Actix、Warp 等)广泛采用。它是 Rust 生态中最流行的异步运行时,提供了高性能的异步任务调度、I/O 操作和网络编程能力。
Tokio 是什么?
Tokio 是 Rust 的异步运行时库,相当于异步程序的操作系统,主要提供以下功能:
- 任务调度器:高效管理数百万个异步任务
- 非阻塞 I/O:文件、网络等操作的异步实现
- 工具库:包括定时器、信号处理、同步原语等
- 网络协议:内置 TCP、UDP、Unix Domain Socket 支持
为什么需要 Tokio?
Rust 的异步编程基于 Future 模型,需要运行时来驱动 Future 的执行。Tokio 提供了这个运行时环境,让开发者可以:
- 编写高效的异步代码,避免阻塞线程
- 处理海量并发连接(C10M 问题)
- 利用 Rust 的所有权系统保证异步代码的安全性
核心组件
1. 异步任务执行器(Executor)
use tokio::task;
#[tokio::main] // 启动 Tokio 运行时
async fn main() {
// 创建异步任务
let handle = task::spawn(async {
println!("异步任务正在执行");
42
});

最低0.47元/天 解锁文章
1695





