大家好,我是何三,独立开发者。
最近在 GitHub 上发现了一个让我眼前一亮的项目 —— BustAPI。一个用 Rust 核心、Python 语法的 Web 框架,号称能跑到 10 万+ RPS,这到底是什么神仙操作?
🚀 项目简介
BustAPI 是一个"披着 Python 外衣的 Rust 框架"。你写的是熟悉的 Python 代码,但底层请求处理完全由 Rust 的 Actix-Web 接管。
GitHub 地址:https://github.com/GrandpaEJ/BustAPI
核心数据: - 100,000+ RPS(Linux 多进程模式) - 支持 Python 3.10-3.14 - Flask 风格的语法,学习成本几乎为零

💪 为什么值得关注?
性能怪兽级别
根据官方基准测试,BustAPI 在 Linux 上使用 4 个 worker 可以达到:
- 根路径 /: 105,012 RPS
- JSON 响应 /json: 99,142 RPS
这是什么概念?比传统框架快了 5-20 倍!

从图表可以看出,在三个不同端点的测试中,BustAPI在所有场景下都遥遥领先。即使对比 Sanic、BlackSheep 等高性能框架,BustAPI 的 RPS 也是它们的近两倍。
开发体验友好
from bustapi import BustAPI
app = BustAPI()
@app.route("/")
def hello():
return {"message": "Hello, world!"}
if __name__ == "__main__":
app.run()
看起来是不是和 Flask 一模一样?没错,这就是 BustAPI 的聪明之处 —— 让你用熟悉的语法,享受 Rust 的性能红利。
核心特性
路由系统:支持动态路径参数 /users/<int:id>,类型自动验证
Blueprints:像 Flask 一样组织大型应用
JWT 认证:内置 HS256/384/512 支持
Session 管理:Flask-Login 风格的用户会话
Turbo Routes:极致性能模式,路径参数在 Rust 层解析,零 Python 开销
热重载:基于 Rust 原生实现,不需要 watchfiles 依赖
🤔 与其他框架对比
vs Flask
Flask 灵活简单,但性能是硬伤。在相同测试环境下,Flask 只有 5,000-9,000 RPS,BustAPI 是它的 10-20 倍。
vs FastAPI
FastAPI 已经很快了,但 BustAPI 比它还要快 5-10 倍。这是因为 FastAPI 还是纯 Python 运行时,而 BustAPI 的 HTTP 服务器、路由、JSON 序列化全部在 Rust 层完成。
vs Sanic
Sanic 也是异步高性能框架,但在实测中 BustAPI 仍有 2 倍左右的性能优势。
🛠️ 实际使用体验
安装超简单
pip install bustapi
预编译了 Linux、macOS、Windows 的 wheel,不用等编译。
Turbo Routes 黑科技
对于追求极致性能的场景,可以用 @app.turbo_route():
@app.turbo_route("/users/<int:id>")
def get_user(id: int):
return {"id": id, "name": f"User {id}"}
Turbo routes 会跳过中间件、请求上下文等环节,直接在 Rust 层处理,理论上能跑到 140,000 RPS(配合缓存)。
平台差异明显
需要注意的是,BustAPI 在不同平台表现差异很大: - Linux: 100,000+ RPS(推荐生产环境,支持 SO_REUSEPORT 多进程) - macOS: ~35,000 RPS(单进程) - Windows: ~17,000 RPS(单进程)
所以生产环境一定要上 Linux 服务器。
📝 一些思考
优点很明显: - 性能是真的强,接近原生 Rust 框架 - API 设计友好,Python 开发者无缝上手 - 功能完整,认证、路由、模板都有
但也要考虑: - 项目较新,生态和社区还不够成熟 - Windows/macOS 性能优势打折扣 - Turbo routes 跳过中间件,使用时要小心
💡 适用场景
我觉得 BustAPI 特别适合: - 高并发 API 服务:微服务、网关、BFF 层 - 性能敏感项目:游戏服务器、实时数据接口 - Python 团队:想提升性能但不想切换技术栈
如果你的项目对性能要求没那么高,Django、Flask 依然是很稳的选择。但如果你在为 Python Web 的性能瓶颈发愁,BustAPI 绝对值得一试!
🔗 相关资源
- GitHub:https://github.com/GrandpaEJ/BustAPI
- 官方文档:https://grandpaej.github.io/BustAPI/
- PyPI:https://pypi.org/project/bustapi/