CDN Oluşturma

Başlatan turuncu, 12 Şubat 2016 - 11:36:22

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

turuncu

Merhaba arkadaşlar

Hem kendi sitelerim hem de diğer türk geliştiriciler için CDN oluşturmak istiyorum. Sorum şu ki İlk etapta TR kaynaklı ufak (bandwidth yüksek) bir VPS yeterli midir? Çünkü sadece bazı js ve css dosyaları barınacak, nginx kullanılacak.

cagriemer

Merhaba,

CDN icin hangi yontemi kullanacaksiniz? DNS mi yoksa anycast routing mi? Bunu soruyorum cunku ufak capta boyle bir is yapmak cok kolay degil.

turuncu

Derin bilgim olmamakla birlikte DNS kullanmayı tercih ederim. Tecrübe edip bir şeyler öğrenme açısından iyi olur.

cagriemer

Peki, o zaman ben size nasil calistigini anlatayim DNS ile siz ona gore karar verin. DNS'te bildiginiz gibi iki tur sunucu tipinden bahsetmek mumkun. "Authoritative" yani alanin uzerinde son soz hakkina sahip ve, "recursor" yani baska biri icin "authoritative" sunuculari sorgulayip cevaplari sorgulayan kullaniciya gonderen. DNS yontemi ile CDN calistirma isi size gelen sorgunun hangi IP adresinden geldigine bakarak ona gore yanit dondurmeniz demek oluyor. Yani diyelim biri Edirne'de biri de Diyarbakir'da olmak uzere iki kullanici sizin sayfaniza erismek istedi. Siz de statik icerikleri CDN uzerinden sunuyorsunuz. Varsayalim ki bu adres cdn.ornek.com olsun. Sizin'de Istanbul ve Van'daki veri merkezlerinde tuttugunuz sunuculariniz olsun. Authoritative DNS yonetimi zaten size ait. Varsayalim bu kullanicilar da kendi internet servis saglayicilarinin (ISP) "recursor"larindan sorgu yapiyor olsunlar.

Edirne'deki sunucu once servis saglayicisina benim icin cdn.ornek.com'un IP adresini bulur musun der. Edirne'deki ISP kok sunucuya gider ve sizin authoritative sunucunun adresini alir. Ardindan sizin sunucuya gelir ve cdn.ornek.com nerede der? Siz bu istegin marmara civarindaki bir IP'den geldigini gorup ona Istanbul'daki sunucunuzun adresini verirsiniz. Diyarbakir'daki kullaniciniz ayni sorguyu yaptiginda yine ayni sekilde onun recursor adresine cografik olarak en yakin nokta Van oldugundan orada barindirdiginiz sunucunun adresini verirsiniz. Yani temelde iki kullaniciniz da cdn.ornek.com adina ait IP'yi istemelerine ragmen bulunduklari noktaya gore farkli IP adresleri almis olurlar. Kabaca DNS uzerinden CDN'i boyle calistirirsiniz. Fakat gunumuzde ben kullanicilarin artik kendi ISP'lerinin DNS sunucularini kullandiklarini pek sanmiyorum. OpenDNS, Google DNS gibi ucuncu parti DNS sunuculari tercih ediliyor artik. Bu sekilde olunca ne oluyor? Sizin authoritative sunucunuza gelen sorgular ya Avrupa'dan ya Amerika'dan bir yerden geliyor. Siz de elinizde o noktaya en yakin ne sunucunuz varsa o sunucuyu donduruyorsunuz. Bu sefer Edirne'deki kullaniciniz da Diyarbakir'daki kullaniciniz da Istanbul'a baglanmaya calisiyor. Dolayisiyla Van'da bir servis calistirmanizin anlami kalmiyor. Bunun ustesinden gelmenin bazi yontemleri var fakat o zaman da yonetim zorlasiyor ve sistem daha da karmasiklasiyor.

Yani ozetle siz muhtemelen bir CDN degil, statik iceriginizi dagitacak ve kullanicilariniza en kisa indirme zamanlarini verebilecek bir sunucu kurmak istiyorsunuz. Bunun icin de internet hizi, bant genisligi, SSD kullanimi ve caching (onbellekleme) gibi konular onemli. Turkiye'deki servis saglayicilarin az cok referanslari bellidir. Buna gore bir secim yapabilirsiniz.

turuncu

Sizin de dediğiniz gibi amacım, kendim ve diğer web site geliştiricilerinin kullanabilmesi için statik dosya dağıtım sistemi gibi sistem kurmak. Detaylı açıklamanız için sonsuz teşekkürler. Başlangıçta çok karmaşık bir sistem olmayacak ve freebsd + nginx üzerinde ilerleyeceğim. Şimdilik açık kaynak CDN sunucularını inceliyorum.