Büyük web sitelerinin sayfalarını neden daha hızlı yüklediğini hiç merak ettiniz mi? Elbette, yüksek performanslı özel sunuculara sahipler, ancak aynı zamanda İçerik Dağıtım Ağı (CDN) adı verilen küresel olarak dağıtılmış bir ağ kullanıyorlar.
Bu makale size CDN kavramını, nasıl çalıştığını ve bir Joomla web sitesinde nasıl yapılandırılabileceğini veya başka bir deyişle, web sitesi içerik dağıtım hızlarını iyileştirmeye ve gecikmeyi azaltmaya yardımcı olmak için bir Joomla CDN entegrasyonunun nasıl gerçekleştirileceğini tanıtacaktır.
İçerik Dağıtım Ağı (CDN) Nedir?
Bir İçerik Dağıtım Ağı (CDN) , amacı içeriği çoğaltarak ve birden çok CDN Sunucusunda depolayarak daha hızlı içerik dağıtımı sağlamak olan, küresel olarak dağıtılmış bir web sunucuları veya Varlık Noktaları (PoP) ağıdır. Bu şekilde kullanıcı, verilere en yakın coğrafi konumdaki bir sunucudan erişebilir. Bu, içeriği tek bir merkezi sunucuda depolamaktan daha verimli olduğunu kanıtladı. Birden çok CDN sunucusundaki verilerinin kopyalarına erişen istemciler, bu merkezi sunucunun yakınında darboğazların önlenmesine yardımcı olacaktır.
Bir CDN olmadan, merkezi sunucuların her bir son kullanıcı isteğine yanıt vermesi gerekir. Bu, müteakip bir yükleme ile sonuçlanır, böylece trafik ani artışları aşırı derecede yüksekse veya yük kalıcıysa, merkezi sunucu arızası olasılığını artırır.
İçerik Dağıtım Ağı (CDN) Nasıl Çalışır?
Günümüzde web sayfaları oldukça karmaşık ve karmaşıktır; bir özellik, tüm içeriğin bir seferde indirilemeyecek kadar büyük olmasıdır. Kullanıcının kişisel bilgisayarındaki veya akıllı telefonundaki tarayıcı, merkezi web sunucusuna, bu isteklerin her birinin yalnızca bir yanıt almak için birkaç milisaniye sürdüğü birden çok istekte bulunur.
Dahası, merkezi sunucu ne kadar uzakta bulunursa, zamanı çoğaltan daha fazla ara düğüm veya ağ cihazı kaçınılmaz olacaktır. Ardından, tek bir web sayfasının tamamen yüklenmesi için merkezi sunucuya yüzlerce istek yerleştirilir. Bu sadece sunucu yükünü artırmakla kalmaz, aynı zamanda gecikmeyi de artırır.
Bu nedenle, İçerik Dağıtım Ağı (CDN) teknolojisini uygulayan bir web sitesi, merkezi sunucu ile kullanıcıların kişisel bilgisayarları arasındaki fiziksel mesafeyi kapatır. Örneğin, bir kullanıcı Suudi Arabistan'dan bir web sayfası istiyor. Talep edilen web sayfasının merkezi sunucusu Amerika Birleşik Devletleri'nde bulunmaktadır ve İsviçre'de bulunan bir CDN sunucusu bulunmaktadır.
İstenen web sayfası tipik bir CDN olmayan web sitesiyse: Tarayıcı, Amerika Birleşik Devletleri'ndeki sunucuya doğrudan bağlanır ve HTML'yi ister. Sunucu bunu Amerika Birleşik Devletleri'nden Suudi Arabistan'daki tarayıcıya geri gönderir. Ardından tarayıcı Amerika Birleşik Devletleri web sunucusundan resimler, Javascript ve CSS'yi tekrar ister. Sunucu resimleri, Javascript ve CSS'yi Suudi Arabistan'daki tarayıcıya gönderir. Ancak, istenen web sayfası bir CDN Web Sitesi ise: Tarayıcı, HTML’yi Amerika Birleşik Devletleri’ndeki sunucudan ister. Tarayıcı, HTML'yi Amerika Birleşik Devletleri'nden alır ve resimlerin, Javascript'in ve CSS'nin İsviçre CDN sunucusunda olduğunu bildirir. Görüntüler, Javascript ve CSS, İsviçre CDN sunucusu tarafından Suudi Arabistan'daki kullanıcı tarayıcısına gönderiliyor.
Aşağıda, CDN sunucularının (Uç Sunucuları) kullanıcılar ile merkezi sunucu (Başlangıç Sunucusu) arasındaki mesafeyi nasıl köprüleyebileceğini açık bir şekilde gösteren bir CDN harita görünümü bulunmaktadır.
İçerik Dağıtım Ağı'nın (CDN) Artıları ve Eksileri nelerdir?
CDN Kullanmanın Artıları:
- Web sayfaları daha hızlı yüklenir
- Daha iyi kullanıcı deneyimi
- Sunucu bant genişliğini azaltın
- Sunucu yükünü azaltın
- Merkezi sunucuda eşzamanlı kullanıcı sayısında artış
- İçeriğin coğrafi konumu
- Kullanıcıların tarayıcılarına daha hızlı içerik teslimi
CDN Kullanmanın Eksileri:
- CDN'nin yanlış yapılandırılması, görüntüleme hatalarına neden olabilir
- Ek masraflar
- Web sitenize ve dağıtım prosedürlerinize karmaşıklık katar
- Ağ filtreleri, bazı İçerik Dağıtım Ağlarını engelleyebilir ve web sitesi içeriğinizin yüklenmesini engelleyebilir
- Coğrafi konum aslında hedef kitlenizden daha uzakta olabilir
Kaç Tür İçerik Dağıtım Ağı (CDN) Var?
İki farklı CDN türü vardır: itme ve orijinal çekme (veya basitçe 'çekme'). Her birinin kendi avantajları ve dezavantajları vardır. Bazı siteler en iyi itme CDN'leriyle çalışır ve bazıları çekmeli CDN'lerle daha iyi çalışır.
Bir push CDN sunucusu kullanarak, site sahibinin web sitesi içeriğini (otomatik veya manuel olarak) doğrudan CDN sunucusuna yüklemesi ve bu içeriği web sitesine bağlaması gerekir. Site sahibi veya birincil sunucu, içeriği CDN sunucusuna sağlama sorumluluğunu üstlenir ve bu da içeriği ağa iter. Bu esnektir, çünkü site sahipleri yüklenen içeriği, ne zaman sona ereceğini ve ne zaman güncellenmesi gerektiğini belirleyebilir. Bu yöntem aynı zamanda trafiğin nasıl kullanıldığı açısından da en verimli yöntemdir. İçerik yalnızca yeni olduğunda veya değiştirildiğinde yüklenir, böylece trafik minimumda tutulur.
Aksine, bir orijin çekme CDN'i çok farklı çalışır. Site sahibinin CDN'e dosya yüklemesi gerekmez, CDN bunu özerk olarak yapar. Site sahibi, içeriği merkezi sunucuda bırakır ve içerik URL'lerini CDN sunucusunu işaret edecek şekilde yeniden yazar. Ziyaretçiler belirli bir dosya istediğinde, CDN sunucusu önce merkezi sunucuya gidecek, dosyayı çekecek ve sunacaktır. CDN sunucusu, süresi dolana kadar bu dosyayı önbelleğe alacaktır. Bir dosyaya ilk kez erişmeye çalışan veya süresi dolduktan sonra ona erişen kişiler, hızda küçük bir fark görebilir. Son kullanma tarihini doğru ayarlamak bu sorunu en aza indirmeye yardımcı olabilir, ancak deneme yanılma da içerebilir.
Joomla'da İçerik Dağıtım Ağı (CDN) Nasıl Uygulanır?
Push ve Pull CDN'ler olan iki ana CDN türünden daha önce bahsetmiştik. Her ikisinin de web sitenizin kurulumuna bağlı olarak avantajları vardır. Pull CDN, Joomla sitelerinin çoğu için harika olanıdır ve çok fazla ilk kurulum ve bakım gerekmez.
Şimdi size Pull CDN'nin nasıl uygulanacağına dair bazı ipuçları sunacağız. Aşağıdaki bölümlerde gösterilen listeden bir CDN sağlayıcısı seçerek ve onlarla bir hesap oluşturarak başlayabilirsiniz. Şimdi, sağlayıcı tarafından verilen talimatları okurken DNS yönlendirmelerini oluşturun. Cdn.yourdomain.com CDN hesabınızı gösterdiğinde, her şey yolunda demektir.
DNS ve CDN hesabı yapılandırmasından sonraki adım, web sitesi dosya URL'lerinizi www.mydomain.com'dan cdn.mydomain.com'a değiştirmektir. Çok verimsiz olduğundan ve bunu yapmak çok zaman alacağından, tüm web sitesi dosyalarının URL'lerini manuel olarak değiştirmek yerine, zamandan tasarruf edebilir ve aşağıdaki bölümde gösterilen listeden bir Joomla CDN uzantısını kullanarak bunu otomatik olarak yapabilirsiniz. Joomla CDN Uzantısı size gelişmiş seçenekler, kolay erişilebilirlik, daha az bakım sağlar ve web sitelerinizin, Javascript ve CSS'nin bağlantılarını otomatik olarak değiştirebilir. Bu uzantılardan bazıları, aynı anda birden çok CDN'nin kullanımına izin verirken yeniden yazılması gereken dosya türlerini belirleme seçeneği de içerir. Ayrıca böyle bir uzantı kullanarak CDN'yi kolayca açıp kapatabilirsiniz.
Bir CDN Uzantısı Seçme:
Joomla CDN uzantıları, Joomla Uzantılar Dizininde bulunabilir, sadece Performans kategorisine gidin veya CDN entegrasyonunu kurmak için ihtiyaçlarınıza göre aşağıdaki listeden birini seçebilirsiniz:
- RegularLab tarafından Joomla için CDN: Çekme bölgelerini destekleyen herhangi bir CDN
- JomCDN by CorePHP: Yalnızca Amazon S3 / Cloudfront ve StackPath için
- JCH Optimize: Yalnızca Amazon Cloudfront ve StackPath için
Bu uzantıları ayarlamak, hangisini seçtiğinize bağlı olarak genellikle oldukça kolaydır. İhtiyaçlarınıza uygun başka uzantılar bulabilirsiniz. Daha fazla bilgi için uzantı belgelerini kontrol ettiğinizden emin olun.
Bir CDN Sağlayıcısı Seçme:
Aşağıda listelenen popüler CDN sağlayıcılarından birini seçebilirsiniz. Tüm CDN özelliklerinden yararlanmak için bazılarının sınırlı özelliklerle ücretsiz olduğunu, diğerlerinin ise abonelik olarak satın alınması gerektiğini unutmayın.
- Amazon CloudFront
- Azure CDN (Microsoft)
- Cloudflare
- BunnyCDN
- CDN77
- CDNetworks
- CacheFly
- KeyCDN
- StackPath (previously MaxCDN)
Sonuç
CDN'ler büyük bir amaca hizmet eder, merkezi sunucuya gelen önemli trafiği azaltır ve hem içerik sağlayıcıya hem de son kullanıcılara fayda sağlayan web deneyimini iyileştirir. Umarım İçerik Dağıtım Ağları ile ilgili bu açıklamayı faydalı bulursunuz. Bir CDN, ekstra yapılandırma ve ekstra masraflar gerektirir, ancak özellikle dünyanın her yerinde bulunan kullanıcılarınız varsa, faydaları buna değer.
Kaynak: Joomla.org - Ahmad Moussa