Supabase Edge Functions: Chạy Code Serverless Không Cần Backend

22/03/2026 P T P Chung 7 phút đọc 0 bình luận

Supabase Edge Functions là gì?

Supabase Edge Functions là một tính năng mới được tích hợp trong Supabase, cho phép bạn chạy code serverless trực tiếp trên edge network (mạng lưới toàn cầu). Không cần phải tự quản lý server, không cần lo backend phức tạp — chỉ cần viết code và deploy. Với Edge Functions, bạn có thể thực thi logic gần người dùng nhất, giúp giảm latency và cải thiện trải nghiệm người dùng.

Vì sao nên dùng Edge Functions?

Khi xây dựng ứng dụng hiện đại, việc xử lý logic backend thường đòi hỏi phải có server riêng, API gateway, và nhiều lớp infrastructure khác. Điều này vừa tốn kém, vừa phức tạp. Supabase Edge Functions giúp bạn:

- Giảm latency: Code được thực thi ở các vị trí địa lý gần người dùng nhất. - Không cần quản lý server: Bạn chỉ cần quan tâm đến code, không phải lo về infrastructure. - Tích hợp sẵn với Supabase: Dễ dàng kết nối với database, auth, storage mà không cần config thêm. - Mở rộng tự động: Khi có nhiều request, hệ thống tự động scale.

Khi nào nên dùng Edge Functions?

Edge Functions phù hợp với các tác vụ cần xử lý nhanh, phân tán toàn cầu, hoặc cần thực thi gần người dùng:

- Validate webhook: Kiểm tra payload trước khi lưu vào database. - Tùy biến auth: Thêm logic khi user đăng ký hoặc đăng nhập. - Cron job nhẹ: Chạy các tác vụ định kỳ không cần server riêng. - Proxy request: Gọi API bên thứ ba và trả về kết quả đã xử lý. - Generate thumbnail: Xử lý ảnh ngay sau khi upload lên Supabase Storage.

Cách hoạt động của Edge Functions

Edge Functions chạy trên Edge Network của Supabase — một mạng lưới phân tán toàn cầu. Khi bạn deploy một function, code sẽ được phân phối tới nhiều vị trí địa lý khác nhau. Khi có request, hệ thống sẽ tự động route tới edge location gần nhất, giúp giảm thời gian phản hồi.

Bạn có thể viết function bằng TypeScript hoặc JavaScript, và tận dụng các module của Node.js. Supabase cũng cung cấp sẵn các client library để tương tác với database, auth, storage trong cùng function.

Ví dụ thực tế: Validate webhook từ bên thứ ba

Giả sử bạn có một ứng dụng thương mại điện tử, và cần xử lý webhook từ bên thứ ba (ví dụ: cổng thanh toán). Thay vì phải dựng một API riêng, bạn có thể dùng Edge Functions:

import { serve } from 'https://deno.land/x/surf/mod.ts'
import { Database } from 'https://lib.supabase.com/next/database'

const db = new Database()

serve(async (req) => { if (req.method !== 'POST') { return new Response('Method not allowed', { status: 405 }) }

const data = await req.json() const { amount, orderId, status } = data

// Validate data if (!amount || !orderId) { return new Response('Missing fields', { status: 400 }) }

Quảng cáo

300x250 In-Content Advertisement

// Lưu vào database await db.sql` INSERT INTO payments (order_id, amount, status) VALUES (${orderId}, ${amount}, ${status}) `

return new Response('Webhook processed', { status: 200 }) })

Function này sẽ tự động chạy ở edge location gần người dùng nhất, giúp webhook được xử lý nhanh chóng.

Tích hợp với các dịch vụ khác của Supabase

Một trong những ưu điểm lớn nhất của Edge Functions là khả năng tích hợp liền mạch với các dịch vụ khác của Supabase:

- Database: Query hoặc mutate data trực tiếp từ function. - Auth: Tạo, cập nhật, hoặc xóa user. - Storage: Upload, download, hoặc xử lý file. - Realtime: Trigger notification khi có sự kiện xảy ra.

Điều này giúp bạn xây dựng các workflow phức tạp mà không cần phải quản lý nhiều service riêng lẻ.

Lưu ý khi dùng Edge Functions

Dù tiện lợi, Edge Functions cũng có một số giới hạn cần lưu ý:

- Cold start: Lần đầu tiên invoke function có thể mất vài trăm mili giây. - Runtime limit: Mỗi function chỉ được chạy tối đa vài giây. - Memory limit: Không phù hợp cho các tác vụ nặng về tính toán. - Cold start vs warm start: Nếu function được invoke thường xuyên, thời gian phản hồi sẽ nhanh hơn.

Kết luận

Supabase Edge Functions là một giải pháp mạnh mẽ cho những ai muốn chạy code serverless mà không phải lo backend. Với khả năng thực thi gần người dùng, tích hợp liền mạch với các dịch vụ Supabase, và không cần quản lý server, Edge Functions giúp bạn tập trung vào logic ứng dụng thay vì infrastructure.

Nếu bạn đang xây dựng ứng dụng web hoặc mobile và cần xử lý logic backend một cách nhanh chóng, linh hoạt, hãy thử nghiệm Supabase Edge Functions — có thể nó sẽ là mảnh ghép còn thiếu trong stack của bạn.

Quảng cáo

728x90 Bottom Advertisement

Thay thế bằng mã Google AdSense

Chia sẻ bài viết

Facebook Twitter

Bình luận

Chia sẻ ý kiến của bạn về bài viết này

Viết bình luận

Bình luận của bạn sẽ được kiểm duyệt trước khi hiển thị

Chưa có bình luận nào

Hãy là người đầu tiên bình luận về bài viết này!