Kami menggunakan cookies untuk meningkatkan pengalaman Anda di website ini. Dengan melanjutkan, Anda menyetujui penggunaan cookies sesuai Kebijakan Privasi kami.
Edge Functions menjalankan kode bukan di satu server terpusat, tapi di edge node terdekat dengan user. Hasilnya: latency turun drastis. Ini cara kerja, limitasi, dan kapan harus pakainya.
Muhamad Putra Aulia Hidayat
Vercel Edge Functions: Komputasi di Ujung Jaringan
Bayangkan server Anda tidak ada di satu tempat — tapi ada di mana-mana, di kota yang sama dengan user. Itulah Edge Functions.
Edge Functions berjalan di CDN edge nodes — Vercel punya 300+ lokasi di seluruh dunia. Ketika user di Surabaya request ke website Anda, kode akan dieksekusi di edge node terdekat, bukan di server utama di US.
Hasilnya: latency bisa turun dari 200-400ms ke 20-50ms.
// app/api/location/route.ts
export const runtime = "edge" // Ini saja!
export async function GET(request: Request) {
const { searchParams } = new URL(request.url)
const name = searchParams.get("name") ?? "World"
return Response.json({
message: `Hello, ${name}!`,
// Vercel inject geo info otomatis
region: request.headers.get("x-vercel-ip-country"),
city: request.headers.get("x-vercel-ip-city"),
})
}
1. Personalisasi Berdasarkan Lokasi
export const runtime = "edge"
export async function GET(request: Request) {
const country = request.headers.get("x-vercel-ip-country")
const city = request.headers.get("x-vercel-ip-city")
// Tampilkan konten berdasarkan lokasi user
const content = country === "ID"
? await getIndonesianContent(city)
: await getDefaultContent()
return Response.json(content)
}
2. A/B Testing
export const runtime = "edge"
export function middleware(request: NextRequest) {
const bucket = Math.random() < 0.5 ? "a" : "b"
const url = request.nextUrl.clone()
url.pathname = bucket === "a"
? "/landing-v1"
: "/landing-v2"
const response = NextResponse.rewrite(url)
response.cookies.set("ab-bucket", bucket, { maxAge: 86400 })
return response
}
3. Auth Check yang Cepat
export const runtime = "edge"
export async function middleware(request: NextRequest) {
const token = request.cookies.get("session")?.value
if (!token && request.nextUrl.pathname.startsWith("/dashboard")) {
return NextResponse.redirect(new URL("/login", request.url))
}
// Verify JWT di edge — sangat cepat
if (token) {
try {
await verifyJWT(token) // Gunakan library yang kompatibel edge
} catch {
return NextResponse.redirect(new URL("/login", request.url))
}
}
}
Ini yang paling penting diketahui:
| Fitur | Node.js Runtime | Edge Runtime |
|---|---|---|
| Node.js built-ins | Penuh | Terbatas (tidak ada fs, path, dll) |
| npm packages | Semua | Hanya yang edge-compatible |
| Max memory | 1GB | 128MB |
| Max execution time | 5 menit | 30 detik |
| Database connections | Langsung | Harus pakai HTTP-based |
Database yang kompatibel Edge:
Database yang TIDAK kompatibel Edge:
Pakai Edge:
Pakai Node.js:
Edge Functions adalah tool yang powerful di tempat yang tepat — bukan pengganti server runtime biasa.
Tips teknologi & bisnis mingguan
Bergabung dengan 2,500+ subscriber yang mendapatkan insight teknologi, tutorial development, dan tips bisnis digital langsung ke inbox mereka setiap minggu.
Dapatkan tips & insight teknologi terbaru langsung ke inbox Anda.
© 2026 PT Digital Uptime Teknologi Informasi. Hak cipta dilindungi.