CDN nedir, nasıl çalışır ve hangi durumlarda kullanılır?
Cevap
CDN (Content Delivery Network), içeriği dünyanın farklı bölgelerindeki edge sunucularda önbelleğe alarak kullanıcıya en yakın noktadan sunan dağıtık sunucu ağıdır. Cloudflare, CloudFront, Akamai, Fastly örnekleridir.
Çalışma şekli
- Alan adı DNS ile CDN'e yönlendirilir; kullanıcı coğrafi olarak yakın edge'e ulaşır.
- Edge'de içerik varsa (cache hit) doğrudan döner.
- Yoksa (cache miss) origin sunucudan çeker, önbelleğe alır ve döner.
- Önbellek süresi origin'in gönderdiği cache başlıklarına veya CDN kurallarına göre belirlenir.
Faydaları
- Düşük gecikme: fiziksel mesafe kısalır.
- Origin yükü azalır: isteklerin büyük kısmı edge'de karşılanır.
- Dayanıklılık: trafik patlamalarını ve DDoS saldırılarını absorbe eder.
- TLS sonlandırma, sıkıştırma, görsel optimizasyonu gibi ek özellikler.
Ne konur?
- Statik dosyalar: JS, CSS, görsel, font, video. Dosya adına hash eklenerek (
app.3f9a1c.js) uzun süre önbelleklenir. - Herkese aynı olan HTML sayfaları ve bazı API yanıtları.
- Kişiye özel veriler genelde önbelleğe alınmaz.
Invalidation
İçerik değiştiğinde ya dosya adı değiştirilir (en sağlam yöntem) ya da CDN üzerinden purge yapılır.
İlgili Sistem Tasarımı soruları
- Dikey ve yatay ölçekleme arasındaki fark nedir?
- Hangi cache stratejilerini biliyorsunuz?
- REST ile GraphQL arasındaki farklar nelerdir?
- Bit.ly benzeri bir URL kısaltma servisi tasarlayın.
- Google Docs benzeri gerçek zamanlı ortak düzenleme yüksek seviyede nasıl tasarlanır?
- Bir bildirim (notification) sistemi nasıl tasarlanır?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.