Supabase现已推出Edge Functions

Supabase现已推出Edge Functions

💡 原文英文,约1700词,阅读约需7分钟。
📝

内容提要

Supabase推出了Edge Functions,支持npm模块和Node内置API,允许用户在全球范围内快速执行Typescript代码。该功能基于安全的Deno运行时,简化了开发者体验,用户无需关注底层细节。Edge Functions能够快速响应用户请求,并与数据库功能无缝集成,适合多种工作负载,提升开发效率。

🔎

延伸解读

为何选择FaaS而非容器?

Supabase明确选择函数即服务(FaaS)而非容器服务,核心考量是简化开发者体验。使用容器时,开发者需关注Docker镜像构建、系统依赖更新等底层细节;而FaaS让开发者只需专注于业务逻辑。此外,函数通常具有更快的启动速度,尽管容器启动时间已大幅优化,但函数在冷启动方面仍具优势。这一选择与Supabase一贯重视开发者体验的理念一致。

全球部署与数据库函数的互补

Edge Functions部署在超过30个数据中心,确保全球用户请求快速响应。而数据库函数则与Postgres数据库同地部署,适合数据库密集型操作。两者并非替代关系,而是互补:你可以在Edge Function中调用数据库函数,兼顾边缘低延迟和数据库操作效率。这种组合让开发者能根据业务逻辑特点灵活选择执行位置,实现最佳性能。

Deno运行时的安全与开发体验

Edge Functions基于Deno运行时,默认安全沙箱机制要求显式授权才能访问环境变量、网络或文件系统,有效缓解Node生态中常见的供应链攻击。Deno还内置TypeScript、ES模块支持以及测试、格式化、打包等工具,减少对第三方模块的依赖。开源CLI与托管服务功能对等,确保本地开发与生产环境行为一致,提升开发效率。

架构如何优化冷启动?

请求首先到达Relay网关,进行JWT认证、日志和限流,然后根据函数元数据生成部署ID,转发给Deno Deploy平台执行。冷启动时,Deno Deploy会从Supabase获取函数代码、权限和密钥。架构核心目标是减少热路径上的工作量,所有热路径组件均全球分布,从而加快函数启动和响应速度。尽管冷启动涉及多个步骤,但Supabase已优化使其保持快速。

❓

Q&A

Supabase的Edge Functions是什么?

Supabase的Edge Functions是一种允许用户在全球范围内快速执行Typescript代码的功能,基于安全的Deno运行时。

Edge Functions如何提升开发者体验?

Edge Functions简化了开发者体验,用户无需关注底层细节,专注于业务逻辑,同时支持npm模块和Node内置API。

Edge Functions的响应速度如何?

Edge Functions能够快速响应用户请求,并通过全球部署确保低延迟。

Supabase选择FaaS而非容器服务的原因是什么?

Supabase选择FaaS是为了提供更简单的开发者体验,避免复杂的容器管理。

Edge Functions支持哪些开发工具?

Edge Functions基于Deno运行时,支持Typescript、ES模块,并提供测试工具、格式化工具和包管理器。

未来Edge Functions有哪些计划功能?

未来计划包括定时触发函数、优化冷启动时间和支持Wasm等功能。

🏷️

标签

➡️

继续阅读