Edge function ve edge rendering nedir? Kodu ne zaman edge'de, ne zaman tek bir bölgede (region) çalıştırırsınız?

Cevap

Edge function, kodun kullanıcıya en yakın CDN noktasında (PoP) çalışmasıdır; Cloudflare Workers, Vercel Edge Functions ve Deno Deploy örnektir. Kullanıcıya fiziksel olarak yakın olduğu için ilk byte süresi (TTFB) düşer. Ancak veritabanı genelde tek bir bölgededir ve bu durum avantajı ortadan kaldırabilir.

Edge için uygun işler

  • Yönlendirme, A/B test bucket'ı atama, coğrafi yönlendirme (country başlığına göre).
  • Auth kontrolü: JWT imzasını doğrulayıp yetkisiz isteği erken reddetmek.
  • Cache'lenebilir veya veriye ihtiyaç duymayan sayfaların kişiselleştirilmesi.
  • Görsel optimizasyonu, başlık (header) ekleme, bot filtreleme.

Region (tek bölge) için uygun işler

  • Veritabanına çok sayıda sorgu atan sayfalar ve API'ler. İstanbul'daki edge'den Frankfurt'taki DB'ye 5 sorgu atmak, kodu doğrudan Frankfurt'ta çalıştırmaktan daha yavaştır (her sorgu bir round-trip).
  • Node.js'e özgü API'ler gerektiren kod (dosya sistemi, native modüller). Edge runtime'lar kısıtlı bir Web API alt kümesi sunar.
  • Uzun süren veya CPU yoğun işler (edge'de süre ve CPU limitleri katıdır).

Kural

Hesaplamayı verinin yanına koyun. Veri global olarak dağıtılmışsa (edge KV, read replica'lar, Turso/D1 gibi dağıtık DB) edge mantıklıdır. Veri tek bölgedeyse, edge'de sadece hafif işleri yapıp asıl işi DB'ye yakın bölgeye bırakın. Next.js'te bu, route başına runtime ve tercih edilen bölge ayarıyla yapılır.

// Next.js App Router: bu route edge runtime'da çalışsın
export const runtime = "edge";
  1. Bulut faturası beklenenden çok yüksek geldi. Maliyeti nasıl analiz eder ve düşürürsünüz?OrtaBulut & DeployFull Stack
  2. Production'daki bir full stack uygulamayı nasıl izlersiniz? Log, metrik, trace ve alarm stratejiniz nedir?OrtaBulut & DeployFull Stack
  3. Veritabanı şema değişikliklerini (migration) kesintisiz (zero-downtime) nasıl deploy edersiniz? Expand-contract nedir?ZorBulut & DeployFull Stack
  4. Blue-green deployment ile canary deployment arasındaki fark nedir? Rollback nasıl yapılır?OrtaBulut & DeployFull Stack
  5. Serverless (ör. AWS Lambda, Vercel Functions) ile container tabanlı deploy (Cloud Run, ECS, Kubernetes) arasında nasıl seçim yaparsınız?OrtaBulut & DeployFull Stack
  6. Uygulamanıza özel bir alan adı bağlayıp HTTPS'i nasıl kurarsınız? A, CNAME kayıtları ve TTL ne işe yarar?KolayBulut & DeployFull Stack

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle