Vercel Edge Functions 正式发布
Vercel 近日宣布正式推出 Edge Functions,这些函数可以是 JavaScript、TypeScript 或 WebAssembly 函数。据公司介绍,这些函数通常比传统的 Serverless Functions 更便宜且更快速。
背景与改进
此前,Vercel 以公开测试版的形式发布了 Edge Functions,并通过将部署的函数放置在特定区域来提升性能。此外,Vercel 还增加了其他功能,如对 WebAssembly 的支持、函数响应的缓存控制标准,以及表达区域偏好的能力。
运行机制
默认情况下,Edge Functions 在离请求最近的区域运行,以实现最低延迟。这些函数在缓存之后运行,因此既可以缓存也可以返回响应。Next.js 和许多其他框架(如 Nuxt、Astro 和 SvelteKit)原生支持 Edge Functions。开发者还可以使用 Vercel CLI 创建独立的函数。
技术基础
Edge Functions 使用 Vercel 的 Edge Runtime,该运行时基于 Chrome 浏览器使用的 V8 引擎,并且不在 MicroVM 中运行。V8 引擎的优势在于 Edge Functions 在隔离环境中运行,不需要虚拟机或容器。这使得运行时更轻量级且资源需求更少,有效消除了冷启动时间,使它们更具成本效益。
未来计划
Vercel 将继续改进其计算产品,包括 Edge Functions 和 Serverless Functions,通过提升 Edge Functions 和 Serverless Functions 之间的兼容性来实现。公司在一篇博客文章中表示:
我们的目标是让 Edge Runtime 成为 Node.js API 的适当子集。我们希望用户能够根据性能和成本特征选择执行环境,而不是根据 API。
市场竞争力
Vercel 的 Edge Functions 将与 Cloudflare Workers 等产品竞争,后者具有 0 毫秒的初始化时间(即无“冷启动”)并在边缘运行(即在靠近用户的数据中心)。Vercel 的高级软件工程师 Ethan Arrowood 在推特上回应选择 Cloudflare Workers 还是 Edge Functions 时表示:
对我来说,最大的价值在于它与现有的 Vercel 项目部署无缝集成。
定价与试用
Edge Functions 按每次调用的 50 毫秒 CPU 时间单位计费,称为执行单位。感兴趣的开发者可以通过业余爱好计划每月获得 500,000 个单位的免费试用。相比之下,专业和企业团队每月免费包含 100 万个 Edge Function 执行单位,并可增加额外使用量。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。