Robyn高性能Web框架系列01:Robyn快速入门

发布于:2025-06-18 ⋅ 阅读:(22) ⋅ 点赞:(0)


Python世界从来不缺少对于性能的追求,Robyn就是其中之一,它将 Python 的异步功能与 Rust 相结合,在设计理念和代码风格上深度借鉴**FastAPI** 和 Node.js(尤其是 Express) ,形成了Python世界最强的高性能Web框架。

Robyn 取名灵感来自于歌手 Robyn(瑞典电子流行歌手),体现了框架对轻量和节奏感的追求。在TechEmpower Benchmark 的测评中,Robyn在JSON 序列化方面接近 FastifyActix(Rust),在Plaintext 输出方面可与 C、Rust 框架相媲美,在查询数据库方面略逊于原生 Go/Rust。与Python世界的其他Web框架相比,Robyn 的表现通常比 Flask 快数十倍,比 FastAPI 快 3~10 倍(取决于测试类型和场景)。
在这里插入图片描述
当然,Robyn 还是一个年轻的社区,相比于其他框架,其接口组件、社区生态已经开发文档还不够成熟,但个人相信在成为Python 中最快的 Web 框架的目标指引下,在Rust语言的加成下,Robyn是一个非常值得跟随的Web框架。

安装 Robyn

Robyn 提供几种不同的安装方式:

1、仅安装基础 HTTP 路由功能

这种方式下只安装了纯 Python 部分,底层 Rust 模块会通过 PyO3 自动构建。

pip install robyn

如果只需要在当前项目安装时:

cd path_to_project_root
python3 -m venv venv
source venv/bin/activate
pip install robyn

2、带扩展功能的安装

如果需要使用一些高级特性(如 WebSocket、静态文件、SSL 支持),可以从Rust源码安装并构建。
2.1、安装 Rust 工具链

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

2.2、安装构建依赖

pip install maturin

2.3、克隆 Robyn 仓库并构建安装

git clone https://github.com/sansyrox/robyn.git
cd robyn
maturin develop

原则上来说,通过Rust源码安装Robyn可以为Robyn整合一些Rust社区中比较优质扩展组件,甚至是自己编写的Robyn组件。

第一个Robyn程序

完成Robyn的安装后,我们进入传统的hello world环节。

1、创建Robyn应用

尽管我们也可以直接打开文件夹,创建一个app.py文件,然后直接开始编写代码,但是使用Robyn CLI可以进行一些项目配置如是否使用Docker,选什么数据库等等。

python -m robyn --create

完成配置后,将生成一个类似这样的项目结构:

├── app.py
├── Dockerfile
├── requirements.txt
├── schema.prisma

2、Say Hello!

from robyn import Robyn

app = Robyn(__file__)

# 同步方式
@app.get("/")
def hello(request):
    return "Hello, world"

# 异步方式
@app.get("/async")
async def async_hello(request):
    return "Hello, world"

app.start(port=8080, host="0.0.0.0") # host is optional, defaults to 127.0.0.1

3、启动Robyn应用

python3 app.py

在启动Robyn应用时,也可以指定启动参数,包括:

参数名 类型 默认值 说明
port int 5000 设置服务器监听的端口号
host str “127.0.0.1” 设置服务器监听的主机地址(如 “0.0.0.0” 表示对外可访问)
dev bool False 是否启用开发模式,开启后日志更详细,便于调试
ssl dict None None
workers int 1 工作进程数量,增加可提升并发能力(需配合 CPU 核心)

网站公告

今日签到

点亮在社区的每一天
去签到