定義
Edge Function 是一種在實體上靠近訪客的 CDN 邊緣節點運行的伺服器端程式碼,而非在單一來源伺服器上運行。像 Cloudflare Workers、Vercel Edge Functions、Netlify Edge Functions 和 Deno Deploy 這類平台,會在全球數百個節點上以輕量的 V8 isolate 或 Deno 執行環境來執行程式碼,因此對於簡單的個人化、重新導向、身分驗證檢查或 A/B 測試路由,請求不必再回傳到中央來源伺服器。部署方式通常是將一個小型的 JavaScript 或 WebAssembly 模組在幾秒內推送到全球各地。換取這種速度所付出的代價是受限的執行環境:Edge Function 無法使用完整的 Node.js API,執行時間受限(視方案而定,通常只有數秒或更短的 CPU 時間),記憶體配額也較小,通常為 128MB 或更少,相較於傳統的 serverless 函式。它們適合用於每次請求都需執行的延遲敏感邏輯,而非繁重運算、長時間作業或龐大的相依套件。
運作方式
Edge Function 在與 CDN 快取內容相同的伺服器群組上執行。程式碼通常以小型的 JavaScript 或 WebAssembly 模組形式部署。常見用途包括:重寫 URL、注入個人化內容、檢查驗證權杖、地理位置路由、觸發圖片最佳化。
這點為何重要
對於延遲敏感的邏輯(如驗證、A/B 路由、邊緣個人化),Edge Function 可省去往返來源伺服器的時間,全面改善 TTFB 與 Core Web Vitals。但對於繁重的後端工作,傳統 serverless 或真實伺服器仍是更合適的選擇。