Workers
JavaScript, TypeScript veya Python kodunu Cloudflare’in 330+ şehirdeki sunucularında, hiçbir sunucu yönetmeden ve kullanıcıya en yakın noktada çalıştırır.
- DurumGenel kullanımda
- Fiyatİstek sayısı + CPU süresi (bekleme süresi ücretsiz)
- Ücretsiz katmanvar
- Doğrulama

Workers nedir?
Bir web isteği normalde şu yolu izler: kullanıcının tarayıcısı → DNS → (varsa CDN) → senin sunucun. Uygulama kodun o sunucuda, tek bir yerde çalışır. İstanbul’daki kullanıcı da, Berlin’deki kullanıcı da aynı makineye ulaşmak zorundadır.
Workers bu şemayı değiştirir: kodunu bir sunucuya değil, Cloudflare’in ağının kendisine yüklersin. Kod, isteği ilk karşılayan şehirde çalışır. İstanbul’dan gelen istek İstanbul’da, Frankfurt’tan gelen istek Frankfurt’ta işlenir. Ortada yönetmen gereken bir makine, kurman gereken bir işletim sistemi, yamalaman gereken bir çekirdek yoktur.
Pratikte bu üç şey demektir:
- Sunucu yönetimi ortadan kalkar. Kapasite planlaması, otomatik ölçekleme grubu, yük dengeleyici yapılandırması, güvenlik yaması yoktur. Kodu yayına alırsın, gerisi Cloudflare’in sorumluluğundadır.
- Gecikme düşer. Kod kullanıcıya coğrafi olarak yakın çalıştığı için, origin sunucuna gitmeyen istekler tek haneli milisaniyelerde yanıtlanır.
- Boşta durmak bedava olur. Fatura, çalışan koda göre kesilir. Gece hiç istek gelmeyen bir servis için ödeme yapmazsın.
Nasıl çalışır?
Workers’ın diğer sunucusuz platformlardan (AWS Lambda, Google Cloud Functions) ayrıldığı temel nokta, konteyner değil izolat (isolate) kullanmasıdır.
Klasik sunucusuz platformlar her fonksiyon için bir konteyner veya mikro-sanal makine başlatır. Bu birkaç yüz milisaniyeden birkaç saniyeye kadar süren bir soğuk başlangıç (cold start) demektir. Workers ise Chrome’un JavaScript motoru olan V8’in “isolate” mekanizmasını kullanır. Bir isolate, aynı süreç içinde çalışan ama belleği tamamen ayrılmış hafif bir bağlamdır; kurulumu milisaniyenin altında sürer.
Bir isteğin ömrü şöyledir:
- İstek, kullanıcıya en yakın Cloudflare şehrine ulaşır.
- Cloudflare, o alan adına bağlı Worker’ı bulur ve bir isolate içinde
fetchfonksiyonunu çağırır. - Kod çalışır: gelen isteği okur, gerekirse KV’den veri okur, gerekirse origin sunucuna
fetchatar, yanıtı oluşturur. - Yanıt kullanıcıya döner. Worker isterse arka planda iş yapmaya devam eder (
waitUntil).
En basit haliyle bir Worker şudur:
export default {
async fetch(request, env, ctx) {
return new Response("Merhaba İstanbul", {
headers: { "content-type": "text/plain; charset=utf-8" },
});
},
};
Bağlantılar (bindings)
Worker’ın dış dünyaya erişimi env nesnesi üzerinden, binding denen tanımlarla olur. Kodun içine bağlantı dizesi veya API anahtarı gömmezsin: wrangler.jsonc dosyasında hangi kaynağa erişeceğini bildirirsin, Cloudflare o kaynağı çalışma anında env içine koyar.
export default {
async fetch(request, env) {
// Durable Object — adı verilen tek bir nesneye bağlan
const id = env.GAME_ROOM.idFromName("oda-42");
const oda = env.GAME_ROOM.get(id);
// D1 — sunucusuz SQL
const { results } = await env.DB.prepare(
"select ad, puan from oyuncular order by puan desc limit 10",
).all();
// R2 — nesne depolama
const logo = await env.BRAND.get("logo.svg");
return Response.json({ liderler: results });
},
};
Yayına alırken wrangler, Worker’ın hangi kaynaklara bağlı olduğunu listeler. Aşağıdaki demo bölümünde bunun gerçek çıktısı var: solda kodun gördüğü ad (env.DB), sağda arkasındaki kaynak (D1 Database).
Hata ayıklarken ilk bakılacak yer burasıdır: beklediğin bağlantı listede görünmüyorsa wrangler.jsonc düzenlenmiş ama yayına alınmamış demektir.
CPU süresi ile bekleme süresi farkı
Bu ayrım, Workers’ın faturasını anlamanın anahtarıdır ve yeni başlayanların en sık yanlış hesapladığı yerdir.
- CPU süresi: İşlemcinin gerçekten senin kodunu çalıştırdığı süre. JSON ayrıştırma, imza doğrulama, şablon işleme.
- Bekleme süresi (duration / wall-clock): Kodun bir yanıt beklediği süre. Origin sunucundan cevap beklemek, veritabanı sorgusunun dönmesini beklemek.
Cloudflare yalnızca CPU süresini ücretlendirir. Origin sunucun 3 saniyede cevap veriyorsa, Worker o 3 saniye boyunca bekler ama sen o beklemeye para ödemezsin. Ödediğin, isteği hazırlamak ve yanıtı işlemek için harcanan birkaç milisaniyedir.
Cloudflare paneli bu iki değeri yan yana gösterir. Demo bölümündeki metrik ekranında gerçek bir ölçüm var: CPU Time 865 µs, Wall Time 19 ms — yaklaşık 22 kat fark. Faturaya giren yalnızca soldaki.
Ne zaman kullanılır, ne zaman kullanılmaz
Bir referans kaynağının işi, ürünü satmak değil sınırlarını göstermektir. Workers her iş için doğru araç değildir.
Uygun olduğu işler
- Origin’in önünde kimlik doğrulama, yetkilendirme, token doğrulama
- A/B testi, kademeli yayın (canary), bakım modu, coğrafi yönlendirme
- İstek/yanıt dönüştürme: başlık ekleme, HTML enjeksiyonu, eski API’yi yeni şemaya çevirme
- Webhook karşılama ve kuyruğa yazma
- API birleştirme (birden çok iç servisi tek yanıtta toplama)
- Statik site + hafif API (Pages ile birlikte)
- Bot filtreleme, hız sınırlama, imzalı URL üretme
Uygun olmadığı işler
- Uzun süren, CPU yoğun hesaplama. Video kodlama, büyük veri işleme, makine öğrenmesi eğitimi. Çağrı başına CPU süresi üst sınırı vardır (ücretsizde 10 ms, ücretlide varsayılan 30 sn, en fazla 5 dk).
- 128 MB’dan fazla bellek isteyen işler. İzolat başına bellek sınırı sabittir ve ücretli planda da artmaz.
- Native ikili bağımlılık gerektiren kod. ImageMagick, ffmpeg, kendi derlediğin C kütüphanesi. Bunlar için Containers vardır.
- Uzun ömürlü, havuzlanmış veritabanı bağlantıları. Ham TCP mümkündür (
cloudflare:sockets) ama her çağrıda yeniden kurulum turu ödersin; PostgreSQL/MySQL için Hyperdrive kullan. - Disk üzerinde dosya sistemi bekleyen kod. Worker’ın yazılabilir bir diski yoktur; kalıcı veri için R2, KV, D1 veya Durable Objects kullanılır.
Somut örnekler
1. Şirket içi API’nin önüne kimlik katmanı
Kendi veri merkezindeki bir API’yi internete açtın. Her isteğin geçerli bir imza taşımasını istiyorsun ve geçersiz isteklerin hiç iç ağa girmemesini tercih ediyorsun.
export default {
async fetch(request, env) {
const imza = request.headers.get("x-imza");
const zaman = request.headers.get("x-zaman");
if (!imza || !zaman) {
return yanit(401, "İmza başlıkları eksik");
}
// 5 dakikadan eski istekleri tekrar oynatma saldırısına karşı reddet
const yas = Math.abs(Date.now() - Number(zaman));
if (!Number.isFinite(yas) || yas > 5 * 60 * 1000) {
return yanit(401, "İstek zaman aşımına uğradı");
}
const govde = await request.clone().text();
if (!(await imzaDogru(env.PAYLASILAN_SIR, zaman + govde, imza))) {
return yanit(403, "İmza geçersiz");
}
// Doğrulandı: isteği Cloudflare Tunnel üzerinden iç API'ye ilet
return fetch(request);
},
};
async function imzaDogru(sir, veri, beklenenHex) {
const enc = new TextEncoder();
const anahtar = await crypto.subtle.importKey(
"raw",
enc.encode(sir),
{ name: "HMAC", hash: "SHA-256" },
false,
["verify"],
);
const bayt = Uint8Array.from(
beklenenHex.match(/.{1,2}/g) ?? [],
(b) => parseInt(b, 16),
);
return crypto.subtle.verify("HMAC", anahtar, bayt, enc.encode(veri));
}
function yanit(kod, mesaj) {
return new Response(JSON.stringify({ hata: mesaj }), {
status: kod,
headers: { "content-type": "application/json; charset=utf-8" },
});
}
Kazanç: geçersiz istekler İstanbul’daki Cloudflare sunucusunda ölür, senin hattını ve sunucunu hiç meşgul etmez.
2. Bakım modu — origin’e dokunmadan
Sunucuda planlı bakım var. Uygulamayı durdurmadan, kullanıcıya düzgün bir sayfa göstermek istiyorsun.
export default {
async fetch(request, env) {
// BAKIM değişkeni Cloudflare panelinden anında açılıp kapanır
if (env.BAKIM === "acik") {
const ip = request.headers.get("cf-connecting-ip");
const ofisIp = ["203.0.113.10"]; // ofis çıkışı bakımda da erişebilsin
if (!ofisIp.includes(ip)) {
return new Response(BAKIM_HTML, {
status: 503,
headers: {
"content-type": "text/html; charset=utf-8",
"retry-after": "1800",
"cache-control": "no-store",
},
});
}
}
return fetch(request);
},
};
const BAKIM_HTML = `<!doctype html><html lang="tr"><meta charset="utf-8">
<title>Bakım çalışması</title>
<h1>Kısa bir bakım çalışması yapıyoruz</h1>
<p>Yaklaşık 30 dakika içinde geri döneceğiz.</p>`;
503 ve retry-after başlığı önemlidir: arama motorları bunu geçici durum olarak okur, sıralamanı düşürmez.
3. Coğrafi yönlendirme
Cloudflare her isteğe request.cf nesnesiyle ülke, şehir ve veri merkezi bilgisi ekler. Ek bir GeoIP veritabanı kurmana gerek yoktur.
export default {
async fetch(request) {
const ulke = request.cf?.country ?? "XX";
const url = new URL(request.url);
// Türkiye'den gelen ve dil seçmemiş kullanıcıyı /tr/ altına al
if (ulke === "TR" && url.pathname === "/") {
return Response.redirect(new URL("/tr/", url), 302);
}
return fetch(request);
},
};
4. Yanıtı kenarda önbellekleme
Origin’in ürettiği pahalı bir yanıtı Cloudflare’in kendi önbelleğinde tutarsın.
export default {
async fetch(request, env, ctx) {
const onbellek = caches.default;
const vurus = await onbellek.match(request);
if (vurus) return vurus;
const yanit = await fetch(request);
const kopya = new Response(yanit.body, yanit);
kopya.headers.set("cache-control", "public, max-age=300");
// Yanıtı kullanıcıya hemen gönder, önbelleğe yazmayı arka planda bitir
ctx.waitUntil(onbellek.put(request, kopya.clone()));
return kopya;
},
};
ctx.waitUntil burada kritiktir: yanıt kullanıcıya gecikmeden gider, önbelleğe yazma işlemi arka planda tamamlanır.
Demo 1: on-prem API’nin önüne Workers katmanı
Bu demoyu birlikte kuracağız. Hedef mimari:
Kullanıcı → Cloudflare Edge (Worker: imza + hız sınırı)
↓ Cloudflare Tunnel
On-prem sunucu (iç API, internete kapalı)
Kurulum adımları:
# 1) Proje oluştur
npm create cloudflare@latest -- onprem-kapi
cd onprem-kapi
# 2) Paylaşılan sırrı gizli değişken olarak yaz (kod deposuna girmez)
npx wrangler secret put PAYLASILAN_SIR
# 3) Yerelde çalıştır — gerçek workerd çalışma zamanıyla
npx wrangler dev
# 4) Yayına al
npx wrangler deploy


Demo 2: Statik site + API tek Worker’da
Bu demo, Cloudflare’in yeni projeler için Pages yerine Workers önermesinin somut karşılığını gösterir: aynı Worker hem statik dosyaları sunar hem API’yi çalıştırır.
Adım 1 — Projeyi oluştur
npm create cloudflare@latest -- uygulamam --framework=reactpnpm create cloudflare@latest uygulamam --framework=reactyarn create cloudflare uygulamam --framework=react{
"name": "uygulamam",
"main": "src/worker.js",
"compatibility_date": "2026-08-31",
"observability": { "enabled": true },
"assets": {
"directory": "./dist",
"binding": "ASSETS",
"not_found_handling": "single-page-application"
}
}
export default {
async fetch(request, env) {
const url = new URL(request.url);
if (url.pathname.startsWith("/api/")) {
return Response.json({ saat: new Date().toISOString() });
}
// Statik dosya bulunamazsa index.html dönsün (SPA)
return env.ASSETS.fetch(request);
},
};
Adım 2 — Yönlendirme sırasını doğrula
curl -s http://localhost:8787/api/saat # Worker çalışır
curl -sI http://localhost:8787/ # statik dosya döner
curl -sI http://localhost:8787/derin/yol # SPA: index.html döner
Adım 3 — Middleware davranışını test et
run_worker_first kapalıyken Worker’ın statik dosya isteklerini görmediğini kanıtla.
Adım 4 — Yayına al ve önbellek başlıklarını incele
npx wrangler deploy
curl -sI https://<worker>/ | grep -iE 'cache-control|etag|cf-cache-status'
Ölçüm
| Ölçüt | Değer |
|---|---|
| Statik istek sayısı | — |
| Worker çağrısı sayısı | — |
| Statik isteklerin faturaya etkisi | — |
run_worker_first açıkken çağrı artışı | — |
| İlk bayta kadar süre (statik / API) | — |
Fiyatlandırma
Aşağıdaki rakamlar 31 Ağustos 2026 tarihinde Cloudflare’in resmî fiyatlandırma sayfasından doğrulanmıştır.
| Ücretsiz | Ücretli (Standard) | |
|---|---|---|
| Aylık taban ücret | 0 USD | 5 USD |
| İstek | Günde 100.000 | Ayda 10 milyon dahil, sonrası milyon başına 0,30 USD |
| CPU süresi | Çağrı başına en fazla 10 ms | Ayda 30 milyon CPU ms dahil, sonrası milyon CPU ms başına 0,02 USD |
| Bekleme süresi | Ücretlendirilmez | Ücretlendirilmez, sınır yok |
| Çağrı başına CPU üst sınırı | 10 ms | Varsayılan 30 sn, en fazla 5 dk |
| Betik boyutu (sıkıştırılmış) | 3 MB | 10 MB |
| Bellek (izolat başına) | 128 MB | 128 MB |
| İstek başına alt istek | 50 | 10.000 |
| Hesap başına Worker | 100 | 500 |
| Hesap başına Cron tetikleyici | 5 | 250 |
| Statik dosya istekleri | Ücretsiz ve sınırsız | Ücretsiz ve sınırsız |
İki gerçek hesap
Örnek A — orta ölçekli haber sitesi
- Günde 300.000 istek → ayda 9 milyon istek (10 milyon dahil sınırının altında)
- İstek başına ortalama 3 ms CPU → ayda 27 milyon CPU ms (30 milyon dahil sınırının altında)
- Aylık toplam: 5 USD
Örnek B — yoğun bir API ağ geçidi
- Günde 2 milyon istek → ayda 60 milyon istek
- İstek başına ortalama 5 ms CPU → ayda 300 milyon CPU ms
| Kalem | Hesap | Tutar |
|---|---|---|
| Taban | — | 5,00 USD |
| Fazla istek | (60 − 10) milyon × 0,30 USD | 15,00 USD |
| Fazla CPU | (300 − 30) milyon ms × 0,02 USD | 5,40 USD |
| Toplam | 25,40 USD / ay |
Aynı yükü kendi sunucunda karşılamak, yedekli iki sanal makine, bir yük dengeleyici ve bunların bakımı demektir. Karşılaştırmayı yaparken sadece sunucu kirasını değil, işletim maliyetini de hesaba kat.
Lisanslama ve hukuki çerçeve
Bu bölüm, kurumsal satın alma ve hukuk birimlerinin en çok sorduğu noktaları toplar.
Hizmetin lisansı. Cloudflare Workers tescilli bir hizmettir. Kullanımı Cloudflare Hizmet Şartları ve Kabul Edilebilir Kullanım Politikası ile düzenlenir. Kaynak kodu size lisanslanmaz; hizmete abone olursunuz.
Çalışma zamanı açık kaynaktır. Workers’ı çalıştıran motor olan workerd, Apache 2.0 lisansıyla GitHub’da yayımlanır. Bu pratikte şu anlama gelir: kodunu yerelde wrangler dev ile üretimdekiyle aynı çalışma zamanında test edebilirsin ve teorik olarak workerd’i kendi altyapında çalıştırabilirsin. Ancak KV, R2, D1 gibi bağlı servisler ve global ağın kendisi açık kaynak değildir — tam bir kendi kendine barındırma seçeneği yoktur.
Yazdığın kod sana aittir. Worker’ına yüklediğin kodun mülkiyeti sende kalır. Cloudflare, hizmeti sunmak için gerekli olan işleme hakkını alır.
Veri işleme ve KVKK. Kurumsal kullanımda ilgili belgeler Cloudflare’in Veri İşleme Ek Sözleşmesi ve alt işleyici listesidir. Trafiğin hangi coğrafyada işleneceğini kısıtlamak isteyen kurumlar için Data Localization Suite adında ayrı ücretlendirilen bir eklenti bulunur; standart Workers kullanımında kod, isteği karşılayan herhangi bir şehirde çalışabilir.
Sık yapılan hatalar
await edilmeyen sözler (floating promise). Yanıtı döndürdükten sonra biten bir iş varsa mutlaka ctx.waitUntil() içine alın. Aksi halde Worker yanıtı gönderdiği anda kapanır ve iş yarım kalır.
Genel (global) kapsamda durum tutmak. İzolatlar isteğe göre oluşturulup yok edilir ve farklı kullanıcılar aynı izolatı paylaşabilir. Genel değişkende kullanıcıya özel veri tutmak, veriyi başka kullanıcıya sızdırır. Kullanıcı durumu için Durable Objects veya KV kullanın.
Sırları kodun içine yazmak. API anahtarları wrangler secret put ile saklanır, wrangler.jsonc içindeki vars alanına değil. vars içeriği yayına alınan pakette açık metin olarak durur.
Gövdeyi iki kez okumak. request.body tek kullanımlık bir akıştır. Hem imza doğrulaması hem de iletme için gerekiyorsa request.clone() kullanın.
Yanıtı tamamen belleğe almak. Büyük yanıtları await response.text() ile toplamak yerine akış olarak geçirin; 128 MB bellek sınırına takılmadan ve ilk baytı geciktirmeden çalışır.
Sıkça sorulan sorular
- Workers ile AWS Lambda arasındaki fark nedir?
- Üç temel fark var. Soğuk başlangıç: Lambda her çağrı için mikro sanal makine ayağa kaldırır (yüzlerce ms); Workers V8 izolatı kullanır, kurulum milisaniyenin altındadır. Konum: Lambda seçtiğin tek bir bölgede çalışır; Workers isteği karşılayan şehirde çalışır. Faturalama: Lambda bekleme süresini de ücretlendirir; Workers yalnızca CPU süresini ücretlendirir. Buna karşılık Lambda daha fazla bellek, daha uzun çalışma süresi ve native ikili çalıştırma imkânı sunar.
- Ücretsiz plan gerçekten üretimde kullanılabilir mi?
- Günde 100.000 istek ve çağrı başına 10 ms CPU sınırıyla, düşük trafikli siteler ve iç araçlar için evet. Ancak çağrı başına 10 ms CPU sınırı gerçek bir kısıttır: JSON şablonlama veya imza doğrulama gibi işlerde bu sınıra takılabilirsin. Ayda 5 USD ödeyerek geçtiğin ücretli plan bu sınırı 30 saniyeye çıkarır — üretim kullanımı için ilk yükseltme kalemi budur.
- Alan adımı Cloudflare’e taşımadan Workers kullanabilir miyim?
- Kısmen. Her Worker otomatik olarak bir
*.workers.devadresi alır ve bunu hemen kullanabilirsin. Kendi alan adında çalıştırmak için ise alan adının DNS’inin Cloudflare üzerinde olması gerekir — yani ad sunucularını Cloudflare’e yöneltmen gerekir. Alan adını taşımana (registrar değiştirmene) gerek yoktur, yalnızca DNS yönetimini devretmen yeterlidir. - Mevcut Node.js kütüphanelerimi kullanabilir miyim?
- Saf JavaScript olanların çoğu çalışır.
fs,netgibi Node çekirdek modüllerine dayananlar içinnodejs_compatuyumluluk bayrağını açman gerekir ve bu bayrak da her modülü karşılamaz. Native derlenmiş eklenti (.nodedosyası) içeren paketler çalışmaz; bunlar için Containers kullanılır. - Türkiye’de Cloudflare noktası var mı? Gecikme ne kadar olur?
- Evet, hatta iki tane: Cloudflare’in ağ sayfasındaki şehir listesinde Türkiye’den İstanbul ve İzmir geçiyor. İstanbul 2018’de açıldı ve o tarihte şirketin 124. veri merkeziydi. Ancak Türkiye’den gelen trafiğin oraya düşeceğinin garantisi yok: belirleyici olan operatörün peering yapılandırmasıdır. Bu portalı hazırlarken iki ayrı Türk hattından ölçtük, biri Frankfurt’a biri Milano’ya düştü. Kendi hattını ölç:
curl -s https://alanadin/cdn-cgi/trace | grep colo - Worker’ım şirket içindeki veritabanıma nasıl bağlanır?
- Worker ham TCP açabilir —
cloudflare:socketsmodülündekiconnect()API’si bunun içindir; Hyperdrive de zaten bunun üzerine kuruludur. Ama ham soket doğru çözüm değildir: stateless bir isolate her çağrıda TCP el sıkışması, TLS ve kimlik doğrulama için yedi tur atmak zorunda kalır. Pratik yollar şunlar: (1) Hyperdrive — bağlantı havuzunu veritabanına yakın tutar, kurulum turlarını kenarda tamamlar. (2) Cloudflare Tunnel — iç ağdaki HTTP API’yi güvenlik duvarında port açmadan yayınlar. (3) Workers VPC — bulut sağlayıcının private network’üne bağlanır. Şirket içi PostgreSQL için Hyperdrive + Tunnel birlikte kullanılır. - Workers Static Assets nedir, Pages'ten farkı ne?
- Workers artık statik dosyaları da sunabiliyor —
assets.directoryile bir klasörü işaret edersin, Cloudflare hem Worker kodunu hem dosyaları tek deploy'da yayına alır. Kritik davranış farkı: Workers'ta önce statik dosya aranır, bulunamazsa Worker çalışır. Pages'te sıra terstir (önce Function). Auth kontrolü gibi her isteği görmesi gereken bir katmanın varsarun_worker_firstayarını açman gerekir. - Statik dosya istekleri için ücret ödüyor muyum?
- Hayır. Resmî ifade: “Requests to static assets are free and unlimited.” Depolama için de ek ücret yok: “There is no additional cost for storing Assets.” Tek istisna: Workers Caching açıksa cache'ten servis edilen istekler normal istek ücretiyle faturalanır — bu, aynı fiyat sayfasındaki iki dipnotun birbirini nitelemesinden doğan bir incelik.
- Cron Trigger ile zamanlanmış iş çalıştırabilir miyim?
- Evet.
triggers.cronsile UTC bazlı zamanlama tanımlar,scheduledhandler'ı yazarsın. Sınırlar: hesap başına ücretsizde 5, ücretlide 250 tetikleyici. Duvar saati sınırı 15 dakika. Değişikliklerin yayılması 15 dakikayı bulabilir. 15 dakikayı aşan işler için Workflows'a bak. - Kaç Worker deploy edebilirim?
- Hesap başına ücretsizde 100, ücretlide 500. Ayrıca rollback derinliği sınırlıdır: “You can only roll back to the 100 most recently published versions.” Rollback binding'leri geri almaz — resmî ifade: “Resources connected to your Worker will not be changed during a rollback.”
- Beklenmedik bir fatura ile karşılaşabilir miyim?
- Workers’ta kullanımı otomatik durduran sabit bir harcama tavanı yoktur; trafik artarsa fatura da artar. Korunmak için üç şey yapabilirsin: Cloudflare panelinden fatura bildirimi kurmak, Worker’ın önüne hız sınırlama (Rate Limiting) koymak ve kodun içinde günlük istek sayacını KV üzerinde tutup eşik aşılınca erken yanıt dönmek. Ücretsiz planda ise sınır aşıldığında Worker çalışmayı durdurur, fatura oluşmaz.
- Python desteği üretimde kullanılabilir durumda mı?
- Python Workers mevcuttur ancak JavaScript/TypeScript ile aynı olgunlukta değildir. Paket desteği sınırlıdır ve soğuk başlangıç davranışı farklıdır. Yeni bir proje başlatıyorsan ve özel bir Python gereksinimin yoksa TypeScript ile başlamak daha az sürprizle sonuçlanır.
İlgili servisler
- Durable ObjectsHer nesnenin tek bir instance’ı olan, state tutan compute; sohbet odası, oyun oturumu, sayaç gibi işler için.
- Workers KVOkuma ağırlıklı, global olarak replike edilen key-value store.
- R2S3 uyumlu object storage — çıkış (egress) trafiği ücretsiz.
- D1Workers’a bağlanan serverless SQLite veritabanı.
- Cloudflare TunnelŞirket içi sunucunu, güvenlik duvarında port açmadan Cloudflare’e giden bir tünelle yayınlar.
- PagesGit deposuna push ettiğinde frontend sitesini build edip global olarak yayına alır.
Bu sayfadaki fiyat ve özellik bilgileri 31 Ağustos 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.