Apakah CDN masih berfungsi bahkan ketika server saya sedang down?

10

Saya seorang pemilik situs web yang berencana menggunakan Amazon cloudfront S3. Saya telah membaca semua hal tentang apa yang dapat dilakukan CDN tetapi saya masih memiliki pertanyaan yang belum terjawab.

Apakah CDN masih berfungsi bahkan ketika server utama saya sedang down. Itulah alasan utama saya tertarik. Karena, server saya biasanya mengalami pemadaman yang sering karena kegagalan daya di Mali.

Tola
sumber
3
Anda mungkin ingin mempertimbangkan CloudFlare, yang a) gratis dan b) dapat menjaga halaman statis Anda selama pemadaman.
ceejayoz

Jawaban:

12

Tergantung siapa yang meng-host CDN Anda. Jika Anda meng-host situs web Anda pada satu server, dan CDN dengan pihak ke-3 maka ada kemungkinan bahwa CDN Anda akan tetap aktif ketika situs web Anda down. Namun ini mungkin tidak terjadi, karena beberapa CDN hanya mendistribusikan konten yang dapat mereka verifikasi ada di situs web Anda.

Catatan tambahan, CDN bukan untuk menampung seluruh situs web Anda. Jadi, jika Anda berpikir bahwa Anda dapat menggunakannya untuk mengganti hosting web Anda atau menggunakannya sebagai semacam rencana failover, Anda menepuk pohon yang salah.

TL; DR - Anda harus bertanya kepada penyedia CDN Anda.

Chris S
sumber
10

CDN dirancang untuk skalabilitas dan kinerja, tetapi tidak untuk ketersediaan tinggi. Pada waktu tertentu, mereka mungkin memerlukan akses ke file asli.

Kebanyakan orang menggunakannya untuk menyimpan file statis seperti gambar, file css dan javascript. Beberapa dapat dikonfigurasi untuk cache HTML, tetapi itu hanya jika Anda memiliki situs web yang sepenuhnya statis. Jika itu masalahnya, Anda bisa meng-host semuanya pada S3 dan tidak perlu server sama sekali.

platform
sumber
5

Secara umum, ya, hingga TTL.

Saat menggunakan CDN, Anda biasanya mengonfigurasi TTL (waktu hidup) untuk konten Anda. Ini adalah maksimum pada berapa usia cache bisa sebelum memutuskan itu benar-benar harus menyegarkan cache dengan konten terbaru. Misalnya, Anda mengonfigurasi semua * .jpg URL untuk memiliki TTL 5 menit.

Kemudian jika server Anda turun, Anda memiliki 5 menit tambahan untuk membawanya kembali sebelum pengguna akan melihat. Yah, setidaknya untuk .jpgs. Yah, setidaknya untuk .jpgs yang telah di-cache sebelumnya.

Juga, beberapa CDN menggunakan fitur seperti Akamai NetStorage di mana Anda dapat mengunggah konten langsung ke CDN - CDN diberikan beberapa konten dan diperintahkan untuk menyajikannya langsung secara apriori. Karena tidak pernah ada caching gaya "sesuai permintaan" "tarikan" yang terjadi di sini untuk memulai, yang tentu saja akan berfungsi ketika server Anda sedang down.

Seperti yang dicatat oleh poster lain, ini bukan tujuan CDN dirancang dan mereka TIDAK memberikan jaminan bahwa perilaku ini akan berhasil. Kebetulan biasanya bekerja (dan itu luar biasa ketika Anda melihatnya terjadi!). Dan tentu saja untuk detail teknis spesifik Anda harus menghubungi penyedia Anda.

Domingo Ignacio Galdos
sumber
5

Ya: server CDN akan tetap berjalan meskipun situs Anda sedang down, yang merupakan opsi yang bagus untuk menangani pemadaman besar. Anda memiliki cukup banyak kendali atas apa yang terjadi sehingga Anda dapat menyesuaikan pengalaman berdasarkan sumber daya dan prioritas Anda. Opsi umumnya termasuk dalam kategori ini:

  1. Objek yang telah dikonfigurasi untuk caching (paling umum dengan mengatur Cache-Controlheader) harus tersedia sampai mereka kedaluwarsa. Beberapa CDN menawarkan kemampuan bagi server tepi CDN untuk mengambil konten dari server CDN lain, yang dapat membantu selama pemadaman serta secara umum meningkatkan kinerja ketika server asal Anda relatif latensi relatif tinggi terhadap server CDN.

  2. Beberapa CDN menawarkan kemampuan untuk menyajikan konten yang telah kedaluwarsa ketika server backend Anda tidak tersedia (mis. Dengan Fastly Anda dapat mengaktifkan mode Varnish's grace atau saint). Jelas ini tidak akan membantu dengan konten yang tidak pernah di-cache tetapi dalam banyak kasus itu setidaknya bisa membuat beranda inti Anda, info kontak, dll online saat Anda bekerja untuk mendapatkan server Anda kembali online.

  3. Sebagian besar CDN menawarkan kemampuan untuk mencoba beberapa server backend sehingga Anda dapat memiliki situs failover terpisah memberikan pengalaman yang masuk akal untuk situs Anda: failover ke server lain atau situs fungsionalitas yang lebih rendah, halaman HTML statis, dll. Ini dapat berguna untuk bencana kegagalan hosting karena Anda memiliki opsi hosting dengan perusahaan yang sama sekali berbeda atau, dalam hal seperti Akamai NetStorage, langsung dengan penyedia CDN sehingga mereka akan mendukung tumpukan penuh.

Dengan pengecualian pada opsi ketiga, Anda tidak memiliki kendali atas apa yang akan di-cache di server CDN sehingga bagian terpenting dari proses ini adalah memutuskan bagaimana situs Anda dapat menurun jika berbagai fitur tidak tersedia: misalnya, jika Anda memiliki konten HTML yang masuk akal bahkan ketika JavaScript gagal sepenuhnya, sebagian besar situs yang digerakkan oleh informasi mungkin dapat berjalan dengan hanya konten halaman dasar bahkan ketika fitur-fitur yang lebih maju diam-diam gagal di latar belakang.

Chris Adams
sumber
Ringkasan hebat! Akamai memiliki Serve stale if unable to validateopsi sehingga ketika asal turun, itu akan menyajikan konten bahkan TTL tercapai.
LeOn - Han Li
@Leonli poin kedua mungkin bisa juga menggunakan tautan ke RFC 5861 karena saya percaya CloudFlare juga mendukung Cache-Control: stale-if-errorsekarang juga.
Chris Adams
2

Sebagian besar CDN adalah konten caching (dinamis) untuk periode waktu (TTL) dari asalnya, dalam hal ini server Anda. Di Amazon Cloudfront Management Console, kontrol cache dari bucket S3 dijelaskan.

  1. Perilaku default S3 Amazon adalah untuk men-cache objek 24 jam.

  2. Anda dapat memengaruhi perilaku default, dengan memasok / menulis tajuk Kontrol-Cache di server asal atau tajuk Kedaluwarsa.

    • Saat Anda menggunakan header usia maks Kontrol Cache, nilai minimumnya adalah 0. Pada saat itu, Amazon akan puas dengan server asal Anda, untuk memeriksa apakah objeknya telah berubah, setiap saat.

    • Saat Anda menggunakan tajuk Kedaluwarsa untuk suatu objek, Amazon tidak akan menghubungi server asal Anda hingga tanggal tersebut.

Saya harap ini menjelaskan perilaku Amazon.

Ron Bakker
sumber
0

Saya adalah Support Engineer di CDN selama lebih dari setahun dan saya akan mengatakan semua jawaban di sini bagus, tetapi IMO @ Chris-Adams memiliki jawaban terbaik (jika saya bisa memilihnya saya akan).

Satu hal yang dilakukan pelanggan kami adalah mengarahkan www ke CDN dan 301 TLD ke www. Jika objek TTL kedaluwarsa maka tepi akan menayangkan konten kedaluwarsa jika tersedia dalam cache.

Dengan mengatakan bahwa, jika uptime (dan konten segar) penting bagi Anda maka saya akan mempertimbangkan untuk memindahkan asal Anda (rasa sakit di pantat saya tahu) ke host yang tidak sering mengalami pemadaman listrik.

jdorfman
sumber