GH GambleHub

Kenar önbellekleri ve POP

1) POP nedir ve neden "kenar"

POP (Point of Presence), kullanıcıya coğrafi olarak yakın bir içerik dağıtım ağı (CDN/edge) düğümüdür. Kenar önbelleği - yanıtları doğrudan POP'ta depolayan bir katman, bu da şunları azaltır:
  • Gecikme (istemciden önce daha az RTT).
  • Orijin başına yük ve maliyet (boşaltma).
  • Bölgeler/bulutlar arasındaki trafik (çıkış tasarrufu).

Edge sadece bir önbellek değildir. Modern POP'lar L7 yönlendirme, WAF/bot filtreleri, hız sınırı, A/B/kanaryalar, dönüşümler ve kenar hesaplamayı (komut dosyaları/işlevler) destekler.

2) Kenar önbellekleme mimarileri

2. 1 Düz vs katmanlı

Düz: Her POP orijine gider. Basit ama orijin için pahalı.
Katmanlı/Kalkan: POP - Kalkan POP (merkezi önbellek) - orijin. Kalkan önbellek özlüyor biriktirir, kökeni için bir şemsiye oluşturur.

2. 2 Bölgesel segmentler

Bölgeye/yetki alanına göre ayrı önbellekleme alanları (GDPR/veri yerelleştirme).
Variant: "EU-only POPs've" Global POPs ", ayrı anahtarlar/kurallar.

2. 3 Anycast + latency/geo-aware yönlendirme

Anycast, müşteriyi BGP aracılığıyla en yakın POP'a getirir.
Etkin RTT/hata ölçümlerindeki POP/bölgesel havuzlar arasında coğrafi/gecikmeye duyarlı anahtarlar.

3) Önbellek tuşları, 'Vary', TTL ve tazelik

3. 1 Anahtar tasarımı

Sorguları normalleştirin: sorgu parametrelerini sıralayın, gürültüyü kaldırın (utm, ref).
Anlamsal eksenleri dahil edin: 'kiracı', 'yerel', 'şema sürümü' ('v = 3'), ancak PII'den kaçının.
Özel içerik için, genel ve özel önbelleği ayırın (bkz. § 7).

3. 2 Önbellek Kontrolü (HTTP)

Başlıklar:
  • 'Cache-Control: public, max-age = 60, s-maxage = 300, bayat while-revalidate = 60, bayat-if-error = 120'
  • Koşullu GET'ler için 'ETag'/' Last-Modified' (304).
  • Vary: kardinaliteyi en aza indirin ('Accept-Encoding', 'Accept-Language', bazen özel yollar için 'Authorization'/' Cookie').
  • "Hoparlöre yakın" için mikro önbellek: 1-5 saniye + SWR.

3. 3 Bayat stratejiler

SWR (stale-while-revalidate): Eski bir cevap verin ve arka planla güncelleyin.
SIE (bayat-eğer-hata): Bir kaynak hatası durumunda, önbelleği 'SIE' -TTL'den önce kullanırız.
Yumuşak/Sert TTL: Yumuşak terim (bayatlayabilir), sert (tam özledim).

4) Engellilik: "kenar" nasıl güncellenir

4. 1 Tuşa ve etiketlere göre

URL/önek ile PURGE/BAN - kaba ama hızlı.
Vekil Anahtar/Etiketler: nesnelere etiketler atayın ('makale: 42', 'kategori: 7'), etiketle yasaklama - URL kaba kuvveti olmadan kitlesel engellilik.

4. 2 Olay sakatlığı

Orijindeki verileri değiştirirken, olayları yayınlayın (Kafka/NATS) - BAN/PURGE/soft-expire çağrısını devre dışı bırakın.

4. 3 Artifact sürüm oluşturma

Statik için - dosya adında content-hash.
API'ler için, uyumsuz değişiklikler için anahtar sürümünü ('v = 4') değiştirin.

5) Orijin koruması ve performansı

5. 1 Origin ekranlama

Shield POP'u tek bir özledim noktası olarak açın - fırtınayı orijine göre çarpın.

5. 2 Birleştirici/tek uçuş

Kenarda, bir istek bir ıskalamada önbelleği "yumruklar"; Geri kalanı bekleyin (yakalama izdihamı yok).

5. 3 Hız sınırı/Kuyruk/Dökülme на kenarı

Aşırı yüklendiyse, düşük öncelikli/anonim istekleri POP'a bırakın, orijine değil.

5. 4 İmzalı URL/İmzalı Çerez

Köken kenarın arkasında gizli. Özel içeriğe erişim - TTL ve özniteliklere (IP/Geo/Path) sahip imzalı bağlantılar/çerezler ile, "herkese" dağıtmamak için.

6) Ulaşım ve dönüşüm

6. 1 HTTP/2-3 и QUIC

HTTP/2: çoğullama, başlık sıkıştırma.
HTTP/3/QUIC: p95/p99 TTFB'nin altındaki kayıp kanallarda daha az HOL kilidi ve daha iyi.

6. 2 Sıkıştırma ve görüntü

Metin için Brotli, görüntüler için AVIF/WebP, kenarda görüntü yeniden boyutlandırma (duyarlı boyutlar, DPR).
Biçim/boyuta göre önbellek çeşitleri: anahtarlar arasında 'width/format' (veya 'Vary: Accept'/Client-Tips) bulunur.

6. 3 TLS/0-RTT (temiz)

Oturum tekrarlama kurulumu hızlandırır, 0-RTT tekrarlamaya karşı savunmasız olabilir - yalnızca idempotent GET'ler için etkinleştirin.

7) Genel ve özel kenar önbellek

7. 1 Kamu

'Cache-Control: public, s-maxage =... 've minimal 'Varye'

Katalog, haber, resim, CDN statik için uygundur.

7. 2 Özel/Kişiselleştirilmiş

Seçenekler:
  • Paylaşılan düzeyde önbelleğe almayın: 'Cache-Control: private' (tarayıcı önbelleği).
  • Anahtar bölümleme: anahtara kiracı/kullanıcı kimliği (veya token-hash) ekleyin ve özel paylaşımlı olarak işaretleyin (depolama ve PII'ye dikkat edin).
  • İmzalı çerezler ve Edge-auth: önbelleği herkese açıktır, ancak imzayla erişim (kenarda şifreli oturum durumu olan seçenekler).

8) Kenar hesaplama (İşçiler/Fonksiyonlar)

POP'ta kolay işlevler: yolu/başlıkları yeniden yazma, A/B bölme, anahtar normalleştirme, SWR mantığı, komşu kaynakların ön ayarı.
Milisaniye işlemleri için POP'ta Yerel KV/Önbellek API'si.
Sınırlamalar: Kısa zaman aşımları/bellek, uzun ömürlü bağlantıların olmaması, PII/bölgesellik ile dikkatli çalışma.

Sözde örnek (İşçi benzeri)

js export default {
async fetch(req, env) {
const key = normalize(req);
let res = await caches. default. match(key);
if (res) return withHitHeader(res, "HIT");

res = await fetch(req, { cf: { cacheEverything: true }});
const ttl = computeTTL(res);
eventWaitUntil(caches. default. put(key, res. clone(), { expirationTtl: ttl }));
return withHitHeader(res, "MISS");
}
}

9) Yapılandırma örnekleri

9. 1 Nginx: mikro önbellek + SWR

nginx proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=api:200m inactive=30m;
map $request_method $skip_cache { default 0; POST 1; PUT 1; DELETE 1; }

server {
location /api/list {
proxy_cache api;
proxy_cache_key "$scheme://$host$uri$is_args$args";
proxy_cache_valid 200 2s;          # micro-cache proxy_cache_use_stale error timeout updating;# SIE + SWR proxy_cache_background_update on;
add_header X-Edge-Cache $upstream_cache_status;
proxy_pass http://origin_pool;
}
}

9. 2 Vernik: vekil anahtarlar и BAN

vcl sub vcl_recv {
if (req. method == "BAN") {
if (req. http. Surrogate-Key) {
ban("obj. http. Surrogate-Key ~ " + req. http. Surrogate-Key);
return (synth(200, "Banned"));
}
}
}

sub vcl_deliver {
set resp. http. Surrogate-Key = "article:42 tag:author:7";
set resp. http. Cache-Control = "public, s-maxage=300, stale-while-revalidate=60";
}

9. 3 Elçi (kenar önbellek filtresi)

yaml http_filters:
- name: envoy. filters. http. cache typed_config:
"@type": type. googleapis. com/envoy. extensions. filters. http. cache. v3. CacheConfig typed_config:
"@type": type. googleapis. com/envoy. extensions. http. cache. simple_http_cache. v3. SimpleHttpCacheConfig

9. 4 CloudFront tarzı davranış (küçük resim)

Davranış A:'/images/' - uzun TTL, sıkıştırma, biçimlerde değişir.
Davranış B:'/api/' - kısa TTL, SWR, imzalı çerez, WAF/bot koruması.
Origin Shield etkin, durumlar 500/502/504 - 'bayat-if-error'.

10) Gözlemlenebilirlik, SLO ve raporlama

10. 1 Metrikler

cache_hit_ratio (POP/bölge/rota ile), byte_hit_ratio.
origin_offload = 1 − (origin_requests/ edge_requests).
Niceliklere göre TTFB/TTL, stale_responses_total, revalidations_total.
, .
shield_hit_ratio (katmanlı ise), origin_egress_bytes (maliyet).

10. 2 Günlükleri/yollar

'HIT/MISS/STALE/UPDATING/BYPASS' etiketli loglar, anahtar, TTL, POP, kiracı.
Dağıtılmış izlerde kaynağı ('edge', 'origin') ve nedeni (revalidate/stale/error) işaretleyin.

10. 3 SLO örneği

"Для'/api/list ': p99 TTFB ≤ 250 мс, kenar isabeti ≥ %70, bayt isabeti ≥ %80, orijin hata aktarımı ≥ %90".
"'Bayat-eğer-hata' yanıtlarının oranı günde %1 ≤".

11) Güvenlik, gizlilik, uyumluluk

WAF/bot yönetimi - orijine filtreleme için kenarda.
Verilerin bölgeselliği: özel eserleri yalnızca geçerli POP'larda depolayın; Bölgeye özgü anahtarlar ve ACL'ler kullanın.
Kenardaki imzalar ve belirteçler, genel önbellekten özel cevaplar vermez.
PII minimizasyonu: kişisel verileri anahtarlara dahil etmeyin; Çerezleri şifreleyin; Kişiselleştirme için kısa TTL'ler.

12) Tipik tarifler

12. 1 "Neredeyse dinamik" (kasetler/listeler)

Mikro önbellek 1-3, + SWR kenarlı, kalkan etkin, tek uçuşlu, boş sonuçlar için negatif önbellek 1-5 s.

12. 2 Görüntü/Medya Bulutları

Kenar özetleme/biçimlendirme (WebP/AVIF), 'genişlik/biçim'e göre önbellek seçenekleri, uzun TTL, içerik etiketlerine göre engellilik.

12. Kişiselleştirme özelliğine sahip 3 API

'Cache-Control: private' veya signed cookie + key-segmentation (tenant), short TTLs, SWRs for "almost public" parts of the response.

12. 4 Büyük satış/Picks

Temel kaynakların ısıtılması (ön warm), statikler için TTL'nin artırılması, agresif SWR/SIE, menşe için sert sınırlar, Kalkan dahil.

13) Anti-desenler

Farklı yanıtlarla 'Vary' yok - sızıntılar/yanlış veriler.
Büyük 'Vary' - kardinalite - düşük isabet.
Prod/deneyler için ortak önbellek - kirlenme.
Tek uçuş yok - fırtına orijinde özlüyor.
Kısıtlama olmadan SWR - güncelleme yarışları ve çığ doğrulama istekleri.
Özel yanıtların kenar önbelleği, genel güvenlik olayları olarak.
Dünya çapında yükte katmanlı/kalkanın yokluğu - menşei aşırı ısınma.

14) Uygulama kontrol listesi

  • POP kapsamını haritalayın, anycast + latency-routing özelliğini etkinleştirin.
  • Katmanlı/kalkan ve tek uçuş/birleştirme politikalarını seçin.
  • Tasarım anahtarları ve Vary (minimum kardinalite, PII yok).
  • TTL/SWR/SIE (yumuşak/sert TTL) ve negatif önbelleği yapılandırın.
  • İmzalı URL/çerezi etkinleştir, kaynağı gizle, WAF/bot filtrelerini etkinleştir.
  • Engellilik organize: Vekil-Key/BAN + olay odaklı.
  • Hit/byte-hit/offload/TTFB metriklerini ve per-POP panolarını yükseltin.
  • Zirvelerden önce ısınma, fırtına/aşırı yüklenmeye runbooks.
  • Gizlilik/bölgesellik testleri, anahtar ve politika denetimleri.
  • Kenar ve TTL/SWR otomatik tweak kriterleri için SLO/hatalı bütçe.

15) SSS

S: Kenardaki TTL nasıl seçilir?
C: İzin verilen eskime ve isabet oranı hedefini itin. "Yakın dinamikler" için - 1-5 s + SWR; Dizinler/görüntüler için - etkinlikler/etiketlerle engelli dakikalar/saatler.

S: Shield POP ne zaman gerekli?
C: Küresel trafik veya kısayol tuşları ile: kalkan, orijindeki ıskaları önemli ölçüde azaltır ve "yakalama" dalgalarını stabilize eder.

S: Yetkili yanıtları nasıl önbelleğe alırım?
C: 'Özel' (tarayıcı) veya imzalı çerez/URL ve anahtar segmentasyonu (PII olmadan) ile genel veya genellikle kritik kişisel veriler için bypass.

S: HTTP/3 ile ne yapmalı?
A: Etkinleştir: Özellikle mobil/kayıp kanal kazanır. HTTP/2 proxy ve fallback uyumluluğunu kontrol edin.

16) Toplam

Edge önbellekler ve POP ağı, yüksek hızlı ve ekonomik platformların temelidir. Başarı, doğru anahtar ve 'Vary', makul TTL/SWR/SIE, etiket/olay sakatlığı, katmanlı/kalkan kökenli koruma, ayrıca gözlem (hit/offload/TTFB) ve güvenlik/gizlilik disiplini ile belirlenir. Kontrol listesini takip edin - ve "kenar'bir sürpriz kaynağı değil, hızlandırıcınız olacaktır.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.