Rust 实战三 | HTTP 服务开发及 Web 框架推荐

封面

往期回顾

代码开源地址: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 的异步运行时库,相当于异步程序的操作系统,主要提供以下功能:

  1. 任务调度器:高效管理数百万个异步任务
  2. 非阻塞 I/O:文件、网络等操作的异步实现
  3. 工具库:包括定时器、信号处理、同步原语等
  4. 网络协议:内置 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
    });
    
    
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

集成显卡

码字不易,需要您的鼓励😄

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值