Androverse

CDN nedir?

Anlamı, kullanım örnekleri ve kararları. Kavramı işin içinde açıyoruz.

Web sözlüğünden

Kısa cevap

CDN, içeriklerin farklı ağ noktalarından kullanıcılara sunulmasını sağlayan dağıtım ağıdır.

Nerede işine yarar?

Statik varlıklar veya uygun yanıtlar kullanıcıya yakın bir noktada tutulabilir. Kaynağın önbelleğe uygunluğu ve güncelleme davranışı ayrıca düzenlenir. Dağıtım ağı, büyük bir görseli küçültme veya ağır tarayıcı kodunu düzeltme işini kendiliğinden tamamlamaz.

Bir cümlede uygulaması

Aynı font dosyasının her istekte kaynak sunucudan alınması yerine uygun dağıtım önbelleğinden sunulması.

Neyle karıştırılmamalı?

CDN ile tarayıcı önbelleği farklı katmanlardır; ikisinin politikası birlikte düşünülür.

Bir çalışma senaryosu

İçerik, ziyaretçiye daha yakın bir noktadan yola çıkıyor.

Bir film stüdyosunun portfolyosuna farklı ülkelerden ziyaret geldiğini düşün. Bütün görsellerin tek bir kaynak sunucudan gönderilmesi, ağ yoluna ve o sunucunun yüküne bağlı bir deneyim yaratır. CDN, içeriğin dağıtılmış noktalar üzerinden sunulmasını sağlayan bir katmandır. Uygun dosyaların kopyaları ziyaretçiye daha yakın yerlerden gelebilir. Ancak yalnız bir CDN açmak, yanlış ölçüdeki görseli veya ağır istemci kodunu kendiliğinden iyi tasarlanmış hâle getirmez.

İlk ayrım hangi içeriğin paylaşılabilir olduğudur. Herkese aynı gösterilen bir kapak görseli çok sayıda istekte yeniden kullanılabilir. Oturuma göre değişen bir hesap yanıtı farklı kurallar ister. CDN yapılandırması kaynak sunucudan gelen başlıklar, önbellek anahtarı ve platform kurallarıyla birlikte çalışır. URL’nin sonunun dosya gibi görünmesi tek başına güvenli bir önbellekleme kararı değildir; yanıtın anlamı ve erişim kapsamı bilinmelidir.

Bir dosyanın ilk isteğiyle sonraki isteği aynı yoldan gelmeyebilir. Yakındaki noktada kopya yoksa kaynak sunucuya gidilir; uygun koşulda kopya saklanır ve sonraki ziyaretlerde yeniden kullanılır. Bu nedenle performans incelemesinde yalnız sıcak önbellek sonucuna bakmak eksik kalır. Yeni içerik, yeni bölge veya farklı varyant için ilk istek davranışı da önemlidir. Dağıtım ağının varlığı kaynak sunucunun dayanıklılığına duyulan ihtiyacı ortadan kaldırmaz.

Görsel dönüştürme, koruma, sıkıştırma veya kenarda hesaplama gibi ek hizmetler CDN platformlarında bulunabilir; her sağlayıcı aynı yetenekleri sunmaz. Bu özellikleri temel dağıtım fikrinden ayırmak gerekir. Örneğin bir görselin doğru boyutta üretilmesi ayrı bir işlem, o çıktının yakındaki noktadan sunulması ayrı bir işlemdir. Ürünün bütün paketini tek sözcükle anlatmak, sorun çıktığında hangi katmana bakılacağını belirsizleştirir.

Bir dağıtım sorunu araştırılırken dosyanın adresi kadar yanıtın gerçek içeriği de incelenir. Görsel yolu doğru görünüp kaynak sunucu bir hata belgesi döndürüyor olabilir. Bu yanıtın yanlışlıkla saklanması sorunu farklı bölgelere taşıyabilir. Hata yanıtlarının süreleri, kaynak erişim kuralları ve yayın sırası bu nedenle önem taşır. Yeni HTML dosyasının henüz dağıtılmamış bir görsele işaret etmesi de kısa süreli kırıklık yaratabilir. Önce varlıkların erişilebilir olması, sonra onları kullanan sayfanın yayımlanması gibi bir sıra belirlemek işe yarayabilir. Her platformun yayın modeli farklı olduğundan, dağıtım ağını tek bir görünmez kutu gibi ele almak yerine somut veri yolunu öğrenmek gerekir.

Yakın sunucu, küçük dosya demek değildir.

Dağıtım mesafesi

CDN uygun içeriği dağıtılmış noktalardan sunarak kaynak sunucuya gidişleri azaltabilir. Ağ yolu ve tekrar kullanımında yarar sağlar. Fakat ziyaretçiye gönderilen dosya hâlâ gereksiz büyükse aktarım ve çözümleme işi devam eder. İçeriğin nereden geldiği, ne kadar içerik gönderildiğinden ayrı bir sorudur.

İçeriğin maliyeti

Görsel boyutu, video süresi, font ağırlıkları ve JavaScript kapsamı uygulamanın gönderdiği yükü belirler. Bunları azaltmak veya doğru önceliklendirmek CDN’den bağımsız bir tasarım işidir. İyi bir sonuç için dağıtım yolu ile dosyanın kendisi birlikte ele alınır; biri diğerinin yerine geçmez.

Dağıtım katmanını doğru yapılandırmak

CDN kullanmak her yanıtın otomatik olarak hızlı ve güncel olacağını garanti etmez. Hangi yolların önbelleklendiği, kaynak sunucuya ne zaman gidildiği ve kişiye özel içeriğin nasıl ayrıldığı önemlidir. Aynı URL'nin farklı dil veya oturum için farklı sonuç verdiği durumlar ayrıca incelenir.

  • Statik varlıklar için uygun önbellek başlıklarını belirle.
  • Yetkilendirilmiş yanıtların ortak önbelleğe girmediğini kontrol et.
  • Kaynak güncellemesi sonrası gerçek yanıt başlıklarını doğrula.

CDN sunucunun yerini alır mı?

Kullanım biçimine bağlıdır. Statik içeriği dağıtabilir ve bazı işlemleri uç noktada çalıştırabilir; fakat uygulamanın veri ve iş mantığı başka sistemlerde kalabilir. Mimaride hangi katmanın hangi görevi üstlendiği açık olmalıdır.

Karar masası

İşin içinde sorulacaklar.

CDN, hosting yerine geçer mi?

Temel kavramlar farklıdır. Hosting uygulamanın veya dosyaların barındığı yeri anlatır; CDN dağıtım katmanı sağlar. Bazı platformlar ikisini tek hizmette birleştirir. Bu durumda bile kaynak içerik, uygulama çalıştırma ve önbellek davranışları ayrı sorumluluklar taşır. Ürün adından hareketle bütün sayfaların otomatik olarak aynı şekilde dağıtıldığını varsaymak yerine hangi yolun hangi katmanda işlendiği belirlenir.

Bir dosyayı güncelledim, neden herkes aynı sürümü görmüyor?

Farklı noktalarda ve tarayıcılarda farklı yaşta kopyalar bulunabilir. Aynı URL’de dosya değiştiyse tazelik süreleri yeni içeriğin görünmesini geciktirebilir. Sürümlü dosya adresleri veya planlı geçersizleştirme bu süreci yönetir. Bütün kullanıcılara sayfayı sert yenileyin demek dağıtım politikasının yerine geçmez. Güncelleme akışı, yeni içeriğin hangi koşulda servis edileceğini önceden tanımlamalıdır.

CDN kullanınca kişisel sayfalar da önbelleğe alınmalı mı?

Varsayılan olarak herkese açık dosyayla aynı davranış verilmez. Kullanıcıya özel yanıtların ortak kopyaya girmemesi veya doğru ayrımla işlenmesi gerekir. Oturum, yetki ve cevap başlıkları birlikte değerlendirilir. Bir çerezin bulunması her platformda otomatik koruma anlamına gelmez. Uygulamanın veri sınırlarını anlamadan genel bir her şeyi önbelleğe al kuralı eklemek uygun değildir.

Sıra sende

Bir proje kapağının yolculuğu.

Portfolyo kapağının kaynaktan ziyaretçiye gelişini kâğıda çiz. Aynı görseli ilk kez açan kişi ile tekrar açan kişinin hangi katmanlara uğradığını göster. Sonra yeni bir kapak yayımlandığında bu yolun nasıl değişeceğini düşün.

Çalışma adımları

CDN içeriğin yolunu kısaltabilir; doğru içeriği ve doğru boyutu seçme işini devralmaz. Dağıtımı, önbelleği ve üretimi ayrı görebildiğinde sorunun nerede başladığı daha kolay anlaşılır.

Siteyi geliştirmek ve çalışmalarımızın sonucunu ölçmek için çerez kullanmak istiyoruz. Analiz ve pazarlama çerezleri yalnızca izin verirsen çalışır. Gizlilik ve çerezler