主要观点:Cloudflare Workers 最近实现了 node:http 客户端和服务器 API,使开发者能将现有 Node.js 应用迁移到无服务器计算平台,这些 API 能让流行的 Node.js 框架在 Workers 上运行。
关键信息:
- Cloudflare 两位 principal systems engineers 介绍此功能能带来熟悉的 Node.js HTTP 接口,无需重写代码库即可全球部署应用,有零冷启动、自动扩展和低延迟等优势。
- 为支持 HTTP 客户端 API,在 Workers 原生使用的标准 fetch()API 基础上重新实现了 core
node:http
APIs,维持 Node.js 兼容性且不影响性能,支持标准 HTTP 方法等。 - 但有管理方式限制,部分 Node.js API 不支持,如 Agent API 为 no-op,不支持 trailers 等响应,也不支持 TLS 特定选项。
- 此功能收到社区积极反馈,但有人认为应更早推出。
- Cloudflare Workers 在无服务器环境中,无直接 TCP 连接,网络操作由外部服务管理,服务器端实现通过创建桥系统连接 Node.js 风格服务器和 Workers 请求处理模型。
- 使用端口路由时,端口号作为路由键确定处理请求的服务器,多个服务器可在同一 Worker 中共存。
重要细节: - https://blog.cloudflare.com/bringing-node-js-http-servers-to-cloudflare-workers/为相关博客链接。
- https://www.linkedin.com/in/yagiznizipli/和https://www.linkedin.com/in/jasnell/为两位工程师的领英链接。
- https://x.com/Cloudflare/status/1965038799102116006为反馈链接。
- https://news.ycombinator.com/item?id=45167943为相关讨论链接。
- https://developers.cloudflare.com/workers/runtime-apis/nodejs/http/为文档链接。
- AWS Lambda、Google Cloud Run 和 Azure Functions 也有 Node.js 运行时。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。