Skip to main content

> kenar_hesaplama_ve_cdn_önbellek_geçersiz_kılma_(surrogate-keys)

Kenar Hesaplama ve CDN Önbellek Geçersiz Kılma (Surrogate-Keys)

Surrogate-Keys ve Cache-Tags kullanarak küresel CDN önbelleği, ana sunucuya (origin) yıkıcı izdihamlar yaratmadan veya bayat veri sunmadan anında ve hedefli olarak nasıl temizlenir?

ÖZET VE TEKNİK CEVAP

Dinamik HTTP yanıtlarına ayrıntılı etiketler (`Surrogate-Key: product_123 category_45`) ekleyip, CDN API'leri üzerinden bu etiketleri 150 ms altında temizleyerek ve `stale-while-revalidate` ile arka planda yenileme sürerken kullanıcılara anında yanıt vererek.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Geleneksel CDN önbelleklemesi sabit TTL süreli tam URL yollarına güvenir. Bir satıcı ürün fiyatını güncellediğinde, o ürün 500 farklı kategori ve liste sayfasında yer alıyorsa URL bazlı temizleme imkansızdır. Surrogate-Keys (Cache-Tags) bunu çözer: Ana sunucu sayfayı oluştururken o sayfadaki tüm varlıkları etiket olarak ekler (`Surrogate-Key: prod_982 brand_nike cat_shoes`). CDN bu önbellek kaydını bu etiketlerle indeksler ve başlığı kullanıcıya sunmadan önce siler. Ürün #982 güncellendiğinde, sistem CDN Temizleme API'sine `prod_982` etiketini yollar. 150 ms içinde dünya genelindeki tüm kenar sunucular o ürünü içeren tüm sayfaları geçersiz kılar. `stale-while-revalidate` ile birleştirildiğinde CDN, arka planda orijin sunucudan veriyi güncellerken kullanıcılara mikrosaniyede yanıt verir.

2. Doğru Kullanım Senaryosu

Gerçek zamanlı veri tazeliği ile birlikte 50 ms altı küresel ilk bayt süresi (TTFB) isteyen yüksek trafikli medya siteleri, e-ticaret katalogları ve çok bölgeli dinamik API'ler.

3. Prodüksiyon Arıza Modları

1) Joker Karakterli Temizleme İzdihamı: Yoğun saatte 'Tümünü Temizle (*)' komutu verip saniyede 200.000 isteğin doğrudan ana veritabanına çarpmasına ve sistemi çökertmesine yol açmak; 2) Kişiye Özel Verinin Önbelleğe Alınması: `Vary: Cookie` veya `private` başlığı olmadan kullanıcı sepet fiyatlarını genel CDN'de önbelleğe alıp başkalarına göstermek; 3) Temizleme API Limit Aşımı: Toplu ürün güncellemesinde dakikada 10.000 temizleme çağrısı atıp CDN API sınırlarına takılarak bayat veride kilitlenmek.

4. Teşhis ve Telemetri Sinyalleri

CDN Kenar Önbellek İsabet Oranı (hedef >%92), Orijin Kalkanı bant genişliği yük azaltma oranı, Temizleme API süresi (küresel tahliye gecikmesi) ve Ana sunucu CPU sıçramaları.

5. Önleme ve Mimari Bariyerler

`stale-while-revalidate` ve `stale-if-error` içeren `Surrogate-Control` başlıkları kullanın; CDN kenarları ile backend arasına bir Orijin Kalkanı (Origin Shield) kurun; etiket temizleme isteklerini paketleyin (çağrı başına 256 anahtar) ve statik dosyalarda daima hash'li sürümler kullanın.

6. Mimari Ödünleşimler (Trade-offs)

Milisaniyelik küresel açılış süreleri (<20 ms TTFB) sağlar ve ana veritabanı yükünü %95 azaltır; buna karşılık etiketleme disiplini oluşturma ve CDN temizleme API bağımlılığı yönetme zorunluluğu getirir.

Vaka İncelemesi (TinyCTO Örneği)

TinyCTO Vaka 083: Bir haber sitesinin ana sayfası 60 saniyelik sabit TTL ile önbelleğe alınıyordu. Seçim gecesi girilen hatalı bir manşet, editör düzeltmesine rağmen 59 saniye boyunca yayında kalarak kriz yarattı. Fastly/Cloudflare Surrogate-Keys entegrasyonu ile CMS'in `story_582` etiketini 120 ms içinde tüm dünyada temizlemesi sağlandı; böylece %98.4 önbellek isabetiyle anında editoryal düzeltme kabiliyeti kazanıldı.

İnteraktif Konsept Alıştırmaları

3 Alıştırma
Q1

Surrogate-Keys (Cache-Tags), CDN önbellek geçersiz kılma sürecini nasıl kökten değiştirir?

Önbellek temizlemeyi URL yollarından bağımsız kılar; ana sunucunun tek bir etiketle (`product_123`) o ürünü içeren binlerce farklı sayfayı aynı anda temizlemesini sağlar.
Q2

`stale-while-revalidate` HTTP önbellek direktifi ne işe yarar?

CDN'e, süresi dolmuş bayat içeriği kullanıcıya 10 ms'de anında sunmasını ve bu sırada arka planda asenkron olarak ana sunucudan içeriği güncellemesini söyler.
Q3

Küresel bir CDN mimarisinde 'Orijin Kalkanı' (Origin Shield) nedir?

Dünyadaki yüzlerce kenar uç noktası (PoP) ile ana sunucu arasına yerleştirilen, mükerrer istekleri birleştirip ana sunucuya tek bir istek olarak ileten merkezi önbellek katmanıdır.

Kenar Hesaplama ve CDN Önbellek Geçersiz Kılma (Surrogate-Keys) — Sıkça Sorulan Sorular

`Cache-Control` ile `Surrogate-Control` başlıkları arasındaki fark nedir?

`Cache-Control` son kullanıcı tarayıcı önbelleklerini yönlendirir; `Surrogate-Control` ise aradaki CDN vekil sunucularını yönetir ve yanıt tarayıcıya ulaşmadan önce CDN tarafından silinir.

Kenar İş Parçacıkları (Edge Workers), CDN önbelleklemesini nasıl tamamlar?

Edge Workers, doğrudan CDN kenar sunucularında JavaScript/Rust çalıştırarak A/B testlerini, coğrafi yönlendirmeleri ve JWT kimlik doğrulamasını istek ana sunucuya hiç gitmeden önce çözer.

Kampanya anında 'homepage' gibi aşırı yüksek trafikli bir etiketi temizlemenin tehlikesi nedir?

Aynı anda gelen binlerce isteğin önbelleği atlayıp doğrudan ana veritabanına yüklenmesine yol açan Orijin İzdihamı (Cache Stampede) felaketini tetikler.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Surrogate-Keys, W3C Edge Architecture çalışma grubu tarafından standartlaştırılmış; Fastly ve Cloudflare tarafından popülerleştirilmiştir.
  • Arka planda yenileme yaparken bayat içeriği sunmak, ultra hızlı performans ile içerik tazeliği arasındaki ödünleşimi ortadan kaldırır.

Yaygın Yanılgılar

  • CDN'lerin yalnızca statik resim ve CSS dosyalarını önbelleğe alabileceğini sanmak; modern kenar mimarileri anlık etiket temizleme ile dinamik HTML ve JSON API yanıtlarının %90'ından fazlasını güvenle önbelleğe alır.

Karar Kılavuzu & Önceliklendirme

Tüm dinamik içeriklere ayrıntılı Surrogate-Keys ekleyin; `stale-while-revalidate` yapılandırın; ve kaba URL silme yerine hedefli CDN etiket temizleme API'lerini kullanın.

Doğrulanmış Kaynaklar & Referanslar