Next.js 开发商 Vercel 正式推出 Edge Functions

Next.js 框架背后的开发商 Vercel 宣布推出 Edge Functions,现已面向所有客户全面推出 (GA)。

根据介绍,Vercel Edge Functions 是 JavaScript、TypeScript 或 WebAssembly functions,通常比传统的 Serverless compute 更高效、更快速,因为它们在一个更精简的 runtime 内运行。默认情况下在全局部署,Edge Functions 在最接近请求的区域运行以尽可能降低延迟。

// pages/api/hello.ts
export const config = {
  runtime: 'edge'
}

export default function handler(req: Request) {
  return new Response("Hello World");
}

与 Edge Middleware 不同,Functions 在缓存之后运行;因此既能缓存又能返回响应,非常适合数据获取或重写。Next.js 和许多其他框架(如 Nuxt、Astro 和SvelteKit)都原生支持 Vercel Edge Functions 。Edge Functions 也可以在 Vercel CLI 中创建为独立函数。

Vercel 于去年夏天推出了 Edge Functions 的公测版。并声称在测试期间,其 Edge Network 已经看到超过 300 亿次的 Edge Function 调用。自测试版以来,Vercel 增加了将 Edge Functions 放入特定区域的能力,增加了对 WebAssembly 的支持,并提高了性能。

Edge Functions 使用轻量级的 Edge Runtime,它建立在 Chrome 浏览器使用的 V8 引擎上,不在 MicroVM 内运行。Vercel 自己的开源 OG Image Generation 项目利用了 Edge Functions 进行全局快速计算。其数据表明,用运行在 Edge Functions 中的 OG Image Generation 生成一百万张图片的成本比用 Serverless Functions 生成同样一百万张图片的成本低近 15 倍。

目前,该公司还在改进 Edge Functions 和 Serverless Functions 之间的兼容性。他们的目标是让 Edge Runtime 成为 Node.js API 的适当子集,希望用户能够根据性能和成本特征而不是 API 选择他们的执行环境。以及致力于改进函数的可观察性和错误报告、努力实现无缝互操作性等。

Edge Functions 以每次调用 50 毫秒的 CPU 时间为单位计费,称为执行单元 (execution units)。业余爱好者每月可免费获得 500,000 个 Edge Function 执行单元。Pro 和 Enterprise 团队每月免费提供 100 万个 Edge Function 执行单元,并且可以增加额外的使用量。

更多详情可查看官方公告

猜你喜欢

转载自www.oschina.net/news/221900/edge-functions-generally-available
今日推荐