CDN sunucum kapalı olsa bile hala çalışıyor mu?


10

Amazon'un cloudfront S3'ünü kullanmayı planlayan bir web sitesi sahibiyim. Ben bir CDN neler yapabileceği hakkında her şeyi okuyordum ama hala cevaplanmamış bir sorum var.

Ana sunucum kapalı olsa bile bir CDN hala çalışıyor mu? İlgilenmemin ana nedeni bu. Çünkü, sunucum genellikle Mali'deki elektrik kesintisi nedeniyle sık sık kesintiler yaşıyor.


3
CloudFlare'ı dikkate almak isteyebilirsiniz, bu a) ücretsizdir ve b) bir kesinti sırasında statik sayfalarınızı koruyabilir.
ceejayoz

Yanıtlar:


12

CDN'nizi kimin barındırdığına bağlıdır. Web sitenizi bir sunucuda ve CDN'yi 3. bir tarafla barındırıyorsanız, web siteniz kapatıldığında CDN'nizin etkin kalması muhtemeldir. Ancak durum böyle olmayabilir, çünkü bazı CDN'ler yalnızca web sitenizde olduğunu doğrulayabilecekleri içeriği dağıtır.

Bir yan not, CDN'ler tüm web sitenizi barındırmak için değildir. Eğer bir web barındırma değiştirmek veya bir yük devretme planı olarak kullanmak düşünebilirsiniz Yani, yanlış ağaç havlıyor.

TL; DR - CDN sağlayıcınıza sormanız gerekir.


10

CDN'ler ölçeklenebilirlik ve performans için tasarlanmıştır, ancak yüksek kullanılabilirlik için tasarlanmamıştır. Herhangi bir zamanda, orijinal dosyalara erişim gerektirebilirler.

Çoğu kişi bunları görüntüler, css ve javascript dosyaları gibi statik dosyaları saklamak için kullanır. Bazıları HTML'yi önbelleğe alacak şekilde yapılandırılabilir, ancak bu yalnızca tamamen statik bir web siteniz varsa. Eğer durum buysa, her şeyi S3'te barındırabilir ve hiç bir sunucuya ihtiyacınız olmazdı.


5

Genellikle, evet, TTL'ye kadar.

CDN'leri kullanırken genellikle içeriğiniz için TTL'leri (yaşam süresi) yapılandırırsınız. Bu, önbelleği kesinlikle en yeni içerikle yenilemek zorunda olduğuna karar vermeden önce önbelleğin kaç yaş alabileceğine dair bir maksimumdur. Örneğin, tüm * .jpg URL'lerini 5 dakikalık bir TTL'ye yapılandırdığınızı varsayın.

Daha sonra sunucunuz kapanırsa, kullanıcıların farkına varmadan önce geri getirmek için fazladan 5 dakikanız olur. En azından .jpgs için. En azından önceden önbelleğe alınmış olan .jpgs için.

Ayrıca, bazı CDN'ler, içeriği doğrudan CDN'ye yükleyebileceğiniz Akamai NetStorage gibi özellikleri kullanır - CDN'ye bazı içerikler verilir ve doğrudan bir priori sunması söylenir. Başlamak için burada bir "isteğe bağlı" "çekme" stili önbelleğe alma işlemi olmadığından, sunucunuz kapalı olduğunda elbette çalışmalıdır.

Diğer posterlerin de belirttiği gibi, CDN'ler için tasarlanan bu değildir ve bu davranışın çalışacağını garanti etmezler. Genellikle işe yarıyor (ve bunun gerçekleşmesini izlediğinizde harika!). Ve elbette belirli teknik detaylar için sağlayıcınızla temasa geçmeniz gerekir.


5

Evet: CDN sunucuları siteniz kapalı olsa bile çalışmaya devam edecek ve bu da büyük kesintileri ele almak için iyi bir seçenek. Olanak üzerinde adil bir kontrole sahipsiniz, böylece deneyimi kaynaklarınıza ve önceliklerinize göre uyarlayabilirsiniz. Seçenekler genel olarak şu kategorilere ayrılır:

  1. Önbellekleme için yapılandırılmış nesneler (çoğunlukla Cache-Controlüstbilgi ayarlanarak ) süresi doluncaya kadar kullanılabilir olmalıdır. Bazı CDN'ler, CDN edge sunucularının diğer CDN sunucularından içerik almasını sağlar, bu da kesintiler sırasında yardımcı olabilir ve ayrıca başlangıç ​​sunucularınız CDN sunucularına göre nispeten yüksek gecikme olduğunda genellikle performansı artırır.

  2. Bazı CDN'ler, arka uç sunucunuz kullanılamadığında süresi dolan içeriği sunma olanağı sunar (örneğin, Hızlıca ile Verniğin zarafeti veya aziz modlarını etkinleştirebilirsiniz). Açıkçası bu, hiçbir zaman önbelleğe alınmamış içeriğe yardımcı olmaz, ancak çoğu durumda, sunucularınızı tekrar çevrimiçi duruma getirmek için çalışırken ana ana sayfanızı, iletişim bilgilerinizi vb. Çevrimiçi tutar.

  3. Çoğu CDN, birden fazla arka uç sunucusu deneme olanağı sunar, böylece ayrı bir yük devretme siteniz siteniz için anlamlı bir deneyim sağlar: başka bir sunucuya yük devretme veya sınırlı işlevsellik sitesi, statik bir HTML sayfası, vb. Bu felaket için yararlı olabilir Tamamen farklı bir şirketle veya Akamai NetStorage gibi bir şey söz konusu olduğunda doğrudan CDN sağlayıcısıyla barındırma seçeneğine sahip olduğunuz için barındırma hataları.

Üçüncü seçenek hariç, CDN sunucularında nelerin önbelleğe alınacağı konusunda hiçbir kontrole sahip değilsiniz, bu nedenle sürecin en önemli kısmı, çeşitli özellikler mevcut değilse sitenizin nasıl bozulabileceğine karar vermektir: örneğin, JavaScript tamamen başarısız olsa bile makul HTML içeriği çoğunlukla bilgi odaklı bir site, arka planda daha gelişmiş özellikler sessizce başarısız olsa bile yalnızca temel sayfa içeriğiyle çalışabilir.


Harika özet! Akamai'nin Serve stale if unable to validatemenşei azaldığında, TTL'ye bile ulaşıldığında içerik sunabilmesi için seçeneği vardır.
LeOn - Han Li

@Leonli, CloudFlare'nin Cache-Control: stale-if-errorşimdi de desteklediğine inandığım için ikinci nokta muhtemelen RFC 5861'e bir bağlantı da kullanabilir .
Chris Adams

2

CDN'lerin çoğu, içeriği (bu durumda sunucunuzdan) belirli bir süre için içeriği (dinamik) önbelleğe alır. Amazon'un Cloudfront Management Console'da bir S3 grubunun önbellek kontrolü açıklanmaktadır.

  1. Amazon'un S3'ünün varsayılan davranışı bir nesneyi 24 saat önbelleğe almaktır.

  2. Kaynak sunucunuzda bir Cache-Control üstbilgisi veya bir Expires üstbilgisi sağlayarak / yazarak varsayılan davranışı etkileyebilirsiniz.

    • Cache-Control max-age üstbilgisini kullandığınızda, minimum değer 0'dır. Bu noktada Amazon, nesnenin her seferinde değişip değişmediğini kontrol etmek için başlangıç ​​sunucunuzu memnun edecektir.

    • Bir nesne için Expires üstbilgisini kullandığınızda, Amazon bu tarihe kadar orijin sunucunuzla iletişime geçmez.

Umarım bu Amazon'un davranışını açıklığa kavuşturur.


0

Bir yıldan fazla bir süredir CDN'de Destek Mühendisi oldum ve buradaki tüm cevapların harika olduğunu söyleyeceğim ama IMO @ Chris-Adams en iyi cevaba sahip (eğer oy verebilirsem).

Müşterilerimizin yaptığı bir şey www'yi CDN'ye ve 301 TLD'yi www'ye işaret etmektir. Bir nesnenin TTL'si sona ererse, kenar, süresi dolmuş içeriği önbellekte kullanılabilirse sunar.

Bununla birlikte, çalışma süresi (ve taze içerik) sizin için önemliyse, kökeninizi (bildiğim popodaki ağrı) sık sık elektrik kesintileri yaşamayan bir ev sahibine taşımayı düşünürüm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.