Cloudflare 正式发布 Python Workers:两年长跑落地,冷启动与上游维护争议仍在
一分钟速览 经过两年预览,Cloudflare 正式发布 Python Workers,Pyth…
文章目录
一分钟速览
- 经过两年预览,Cloudflare 正式发布 Python Workers,Python 与 JavaScript、TypeScript 并列成为开发者平台的重要组成。
- 提供对 Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues、Workflows 的绑定,支持 FastAPI、Django、Flask。
- 三项工程成果促成落地,其中两项来自 Cloudflare 之外:打包标准 PEP 783、套接字桥接、HTTP 客户端上游贡献。
- 社区反应两极:焦点集中在「资助上游贡献者 vs 资助上游维护者」,以及冷启动性能。
- 争议焦点之一:urllib3 的 Emscripten 后端仍处实验阶段,且被明确排除在项目安全策略之外。
Cloudflare 正式推出了 Python Workers,距离首个预览版发布已经过去两年。如今,Python 终于与 JavaScript 和 TypeScript 一起,成为这个开发者平台的重要组成部分。对一个以「边缘运行」为卖点的平台来说,把 Python 这个数据与 AI 生态最庞大的语言请上边缘,意义不小。
三项工程成果
据 InfoQ 报道,有三项工程成果促成了这次正式发布,其中两项来自 Cloudflare 之外。
首先是打包标准。Python Workers 在 Pyodide 上运行,因此任何带有 C、C++ 或 Rust 扩展的包都必须交叉编译为 WebAssembly,而此前并没有标准方法来实现这一点。Cloudflare 曾自行编译并托管这些包,但这限制了可用包的数量。公司提出了 PEP 783,为浏览器内的 Python 运行时平台 PyEmscripten 制定标准,该提案在一年多后获得通过。Cloudflare 还加固了 Pyodide 构建工具链,并在 cibuildwheel 中添加了对 PyEmscripten 的支持,让维护者可以自行构建 wheel 包。
第二项是套接字桥接。aiomysql、asyncpg 这类驱动会使用标准库中的 socket 模块,而该模块发起的 POSIX 系统调用在 WebAssembly 沙箱里只是「桩函数」。Cloudflare 通过 Workers 的 connect API 实现了这些调用,转换发生在系统调用层,因此驱动无需修改——这也正是 Hyperdrive 集成能够正常工作的原因。第三项则是对 HTTP 客户端的上游贡献:如今包括 requests 和 httpx 在内的库,会在 WebAssembly 环境中通过 JavaScript 的 fetch API 路由,这让 OpenAI、LangChain 和 MCP 都能在 Worker 中运行。
争议:贡献者与维护者
社区的反应两极分化,争议焦点与其说是新特性本身,不如说是背后的机制。反响最激烈的是第三项。作为 urllib3 的维护者,illia-v 在 Hacker News 上解释,他的项目合并了多项重大贡献,包括添加对 Pyodide 和 Emscripten 的支持以及后来的 JSPI 支持,正是这些贡献让该功能得以在 requests 中实现。但他指出,资金流向了「实现该功能」的贡献者,而非最终负责维护项目的维护者——资助上游贡献与资助上游维护者之间,存在本质区别。其影响也体现在 urllib3 自身的立场中:项目里的 Emscripten 后端仍处于实验阶段,并被明确排除在安全策略之外。他点出了 CVE-2025-50182——当请求通过 fetch 路由时,urllib3 的重定向控制未能按预期发挥作用。
冷启动则引发了数据层面的关注。竞品平台 Wasmer 创始人 Syrus Akbary 重提此前的担忧,称以当前架构,要实现低于 100 毫秒的启动时间将相当困难,并引用自家基准:一个最简单的 Python 应用在 Wasmer Edge 上启动约 60 毫秒,而在 Cloudflare Workers 上约 900 毫秒。Cloudflare 方面回应称,内存快照实现已显著改善冷启动性能,分片技术也能减少冷启动发生的频率;而 Akbary 在后续评论中反问,那篇报道里的启动时间约为 1.027 秒,之后是否重新测量过。
趋势洞察
Python Workers 的落地,是「把 Python 生态搬进边缘」这条漫长路线上的一次里程碑,但它暴露的两个问题更具普遍意义:一是冷启动,这几乎是所有 Serverless 平台在语言运行时上的共同短板,快照与分片只是缓解;二是上游维护的经济学——当大厂把功能做进开源库,却把维护成本留在志愿者手里,短期看是「生态共赢」,长期看则可能透支生态的健康。技术平台的竞争力,最终会落在它能否把这些「外部性」处理好。
本文地址:https://www.163264.com/16911