dev-tools
Sözlük ↗Edge Fonksiyon (Edge Function)
Bir edge fonksiyonu, tek bir merkezi bulut bölgesi yerine, son kullanıcılara yakın konumlandırılmış, dünya çapında dağıtılmış bir sunucu ağı üzerinde çalışan küçük bir sunucusuz kod parçasıdır (genellikle CDN'lerin statik içerik önbelleklemek için kullandığı aynı "edge" erişim noktaları). Amaç gecikmedir: birincil sunucunuz `us-east-1`'deyse ama kullanıcı Tokyo'daysa, her istek okyanusu iki kez geçer; yakındaki bir erişim noktasında çalışan bir edge fonksiyonu ise tek haneli milisaniyeler içinde yanıt verebilir. Sağlayıcılar arasında Cloudflare Workers, Vercel Edge Functions ve Deno Deploy bulunur; bunlar tipik olarak tam konteynerler yerine hafif JavaScript/WebAssembly izolatları üzerine inşa edilir, bu da geleneksel sunucusuz fonksiyonlara kıyasla neredeyse sıfır soğuk başlatma gecikmesiyle başlamalarını sağlar. AI/SaaS geliştiricileri için neden önemli: edge fonksiyonları, ana uygulamanızın önünde yer alan gecikmeye duyarlı, hafif mantıklar için idealdir — kimlik doğrulama kontrolleri, A/B test yönlendirmesi, coğrafi konum tabanlı yönlendirmeler, istek yeniden yazma, basit API yanıtları ve giderek artan şekilde, bir AI yanıtının ilk token'larını küresel bir kullanıcı kitlesine mümkün olduğunca hızlı akıtmak. Genellikle ağır hesaplama veya büyük, kalıcı bir veritabanı bağlantı havuzu gerektiren işler için uygun değildirler, çünkü edge çalışma zamanları hız ve küresel dağıtım karşılığında kasıtlı olarak kısıtlıdır (daha küçük bellek sınırları, kısıtlı API'ler, kalıcı dosya sistemi yok). Nasıl çalışır: bir edge fonksiyonu deploy ettiğinizde, platform onu dünya çapında onlarca veya yüzlerce erişim noktasına otomatik olarak çoğaltır. Bir istek (Anycast ağ üzerinden) en yakın uygun erişim noktasına yönlendirilir; bu nokta fonksiyonunuzun izole, korumalı bir örneğini çalıştırır — örneğin Cloudflare Workers, istek başına tam bir konteyner veya sanal makine ayağa kaldırmak yerine V8 izolatları (Chrome'un arkasındaki aynı JavaScript motoru teknolojisi) kullanır; soğuk başlatmaların genellikle milisaniyenin altında olmasının nedeni budur. Uygulamalı örnek: bir SaaS pazarlama sitesi, merkezi bir backend'e gitmeden ziyaretçinin ülkesine göre yerelleştirilmiş fiyatlandırma (USD, EUR, GBP) göstermek istiyor. Sitenin önüne, Cloudflare tarafından ziyaretçinin IP'sine göre otomatik olarak doldurulan `CF-IPCountry` başlığını okuyan, bunu bir para birimine eşleyen ve doğru fiyatı yanıt HTML'ine eklemek için yeniden yazan bir Cloudflare Worker deploy ederler — bunların tamamı ziyaretçiye fiziksel olarak yakın bir erişim noktasında gerçekleşir ve merkezi bir origin sunucusuna gidiş-dönüşün başka bir kıtadaki kullanıcıya maliyet edeceği 200ms+'ye kıyasla belki sadece 5-10ms gecikme ekler. Bu tür mantık — ucuz, hızlı, neredeyse her istekte gerekli — tam olarak edge fonksiyonlarının inşa edildiği iş yüküdür; buna karşılık, ağır bir veritabanı join'i veya büyük bir bellek içi model gerektiren her şey genellikle geleneksel bir backend'e veya tam bir bulut bölgesinde çalışan sunucusuz fonksiyona bırakılmalıdır.
İlgili terimler