Membatalkan validasi konten yang di-cache

Pembatalan validasi cache, terkadang disebut pembersihan cache, adalah proses mendeklarasikan konten yang di-cache sebagai tidak valid. Hal ini menyebabkan entri menjadi dihapus dari cache, lalu diisi ulang dari server origin pada saat berikutnya konten yang diminta.

Media CDN mendukung beberapa cara untuk memilih konten menjadi tidak valid, sebagai berikut:

  • Host dan Jalur URL
  • Awalan URL (karakter pengganti)
  • Tag cache, termasuk tag bawaan untuk status, origin, dan content-type

Anda dapat menggabungkan parameter pembatalan validasi ini untuk menargetkan cache tertentu dan meminimalkan beban origin pada pengisian cache berikutnya.

Sintaksis pembatalan validasi yang didukung

Sintaksis pembatalan validasi yang didukung adalah sebagai berikut:

Jenis Sintaks Contoh
Pembatalan validasi host Membatalkan respons yang di-cache untuk host yang ditentukan. gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --host="media.example.com"
Pembatalan jalur Membatalkan respons yang di-cache untuk jalur atau awalan jalur yang ditentukan. gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --path="/content/1234/hls/*"

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --path="/videos/funny.mp4"
Pembatalan validasi tag cache pada kode status HTTP, nama asal, atau jenis MIME Membatalkan respons yang di-cache dengan tag yang cocok. Beberapa tag diperlakukan sebagai OR boolean. gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --tags="status=404,origin=staging-origin"

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --tags="content-type=application/x-mpegurl"

Catatan:

  • Maksimal 10 tag cache dapat ditentukan dalam satu permintaan pembatalan validasi.
  • Anda dapat menggabungkan host, path, dan tags dalam satu permintaan pembatalan validasi. Nilai tersebut diperlakukan sebagai AND boolean.
  • Jika beberapa tag cache ditentukan, tag tersebut diperlakukan sebagai OR boolean. Sebagai misalnya, jika Anda menentukan --tags="status=404,origin=staging-origin", semua respons dengan tag cache status=404 menjadi tidak valid, seperti halnya semua respons dengan tag cache origin=staging-origin.

Tag cache

Tag cache (atau kunci surrogate) memungkinkan Anda membatalkan validasi konten berdasarkan metadata arbitrer.

Tag ini ditentukan oleh hal berikut:

  • Menyetel header HTTP Cache-Tag dalam respons origin, dengan tag ditetapkan sebagai daftar nilai yang dipisahkan oleh koma.
  • Tag bawaan berdasarkan kode status HTTP respons, jenis MIME dari header respons HTTP Content-Type, atau nama origin yang respons dapat diambil.

Jika beberapa tag ditentukan dalam satu permintaan pembatalan validasi, tag tersebut diperlakukan sebagai OR boolean.

Perhatikan contoh berikut:

  • Anda memiliki objek yang di-cache berikut:

    • Objek #1 dalam cache dengan tag status=200, content-type=video/mp4
    • Objek #2 dalam cache dengan tag status=404, content-type=text/plain
    • Objek #3 dalam cache dengan tag status=200, content-type=application/x-mpegurl
  • Anda mengeluarkan permintaan untuk membatalkan validasi objek dengan tags="status=200,content-type=text/plain"

  • Hasil: Ketiga objek yang di-cache menjadi tidak valid secara bersamaan. Ini untuk tidak perlu menentukan semua kemungkinan kombinasi tag, beberapa di antaranya mungkin tidak diketahui.

Catatan:

  • Tag cache default tidak disertakan dalam respons yang ditujukan kepada klien karena mencerminkan {i>header <i}yang ada (seperti baris status atau Content-Type) atau detail konfigurasi internal.
  • Tag cache yang dikirim oleh origin di header respons HTTP Cache-Tag adalah dikirim ke klien. Jika Anda ingin mencegah agar data ini tidak dikirim ke klien, gunakan fitur responseHeadersToRemove di routeRule untuk menghapus header Cache-Tag. Misalnya, lihat header kustom dokumentasi layanan.

Tag bawaan

Respons akan otomatis menerapkan tag cache berikut ke dukungan membatalkan validasi konten berdasarkan kode status, jenis MIME, atau asal yang konten tersebut diambil. Anda tidak perlu menentukan tag ini di origin yang dihasilkan.

Tag Detail
status=HTTP_STATUS_CODE

Tag cache status disetel berdasarkan HTTP yang ditampilkan kode status respons yang di-cache.

Misalnya, Anda dapat membatalkan semua respons HTTP 404 yang di-cache dengan yang menentukan status=404 dalam permintaan pembatalan validasi.

content-type=MIME_TYPE

Tag cache content-type ditetapkan berdasarkan jenis MIME atur di Content-Type Header respons HTTP.

Misalnya, jenis MIME playlist HLS adalah application/x-mpegURL atau vnd.apple.mpegURL.

Tindakan ini memungkinkan Anda membatalkan jenis konten tertentu.

origin=ORIGIN_NAME

Tag cache origin ditetapkan berdasarkan nama origin konten tersebut diambil.

Referensi nilai origin nilai .routing.routeRules[].origin, dan memungkinkan Anda untuk membatalkan validasi konten agar tidak terkonfigurasi atau berpotensi mengganggu server origin.

Batasan tag cache

Tag cache memiliki batasan berikut:

  • Tidak boleh melebihi 120 byte per tag
  • Tidak boleh melebihi 1 KiB (1.024 byte) dari total nama tag per objek yang di-cache
  • Tidak boleh melebihi 10 tag per objek, tidak termasuk tag default yang ditambahkan oleh Media CDN
  • Harus berupa nama token HTTP yang valid, seperti yang ditetapkan di Bagian 3.2.6 HTTP RFC 7230
  • Tidak boleh menyertakan status=, origin=, atau Awalan content-type= (yang diabaikan).

Tag yang tidak berada dalam batas ini atau memenuhi persyaratan tersebut diabaikan. Dalam beberapa kasus (seperti saat header respons terlalu besar), respons gagal dan tidak di-cache.

Izin

networkservices.EdgeCacheServices.invalidateCache izin mengontrol akses ke API invalidateCache. Izin ini disertakan dalam networkservices.edgeCacheAdmin dan networkservices.edgeCacheUser Peran Identity and Access Management.

Contoh

Contoh berikut menunjukkan cara membatalkan respons yang di-cache untuk Layanan Media CDN.

Anda dapat menggabungkan host, path, dan tags dalam satu permintaan pembatalan untuk membatalkan validasi kumpulan konten tertentu.

Membatalkan validasi oleh host

Konsol

  1. Buka halaman Media CDN di Konsol Google Cloud.
    Buka Media CDN
  2. Klik tab Services.
  3. Klik layanan Anda.
  4. Klik tab Pembatalan validasi cache.
  5. Agar pola jalur tidak divalidasi, masukkan nama host, diikuti dengan jalur. Misalnya: media.example.com/cats atau media.example.com/cat*. Nama host tidak boleh menyertakan *.

gcloud

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --host=HOST

Ganti kode berikut:

  • SERVICE_NAME dengan nama Layanan Edge Cache.
  • HOST dengan nama host lengkap entri cache menjadi tidak valid.

Contoh:

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --host="media.example.com"

Membatalkan validasi menurut jalur

Konsol

  1. Buka halaman Media CDN di Konsol Google Cloud.
    Buka Media CDN
  2. Klik tab Services.
  3. Klik layanan Anda.
  4. Klik tab Pembatalan validasi cache.
  5. Untuk membatalkan validasi pola jalur, masukkan jalur. Misalnya: /videos/funny.mp4 atau /segments/e94a6b1f731/*.

gcloud

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --path=PREFIX

Ganti kode berikut:

  • SERVICE_NAME dengan nama Layanan Edge Cache.
  • HOST dengan nama host entri cache menjadi tidak valid. Agar cocok dengan nama host, hapus host penanda.
  • PREFIX dengan awalan jalur yang diakhiri dengan '*' sehingga cocok dengan entri cache menjadi tidak valid.

Contoh:

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --path="/segments/e94a6b1f731/*"

Anda juga dapat membatalkan jalur tepat dengan menghilangkan * di akhir karakter. Meneruskan --path="/videos/funny.mp4" akan membatalkan respons yang disimpan dalam cache (jika ada) yang cocok dengan jalur tersebut.

Membatalkan validasi menurut tag cache

Konsol

Pembatalan validasi berdasarkan tag cache tidak didukung di Konsol Google Cloud.

gcloud

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --tags=TAGS

Ganti kode berikut:

  • SERVICE_NAME dengan nama Layanan Edge Cache.
  • TAGS dengan daftar tag yang dipisahkan koma.

Contoh:

gcloud edge-cache services invalidate-cache SERVICE_NAME \
    --tags="status=404,content-type=text/plain"

Latensi pembatalan

Pembatalan validasi cache di ribuan lokasi Media CDN biasanya selesai dalam satu menit secara global.

Dalam beberapa kasus, pembatalan validasi bisa memakan waktu lebih lama, tergantung pada beban sistem, konektivitas, dan volume konten yang menjadi tidak valid.

Logging

Jika log audit diaktifkan, panggilan pembatalan validasi akan dicatat ke Cloud Logging.

Batasan

Pembatalan kapasitas dibatasi. Jika Anda melebihi batas kapasitas validasi, Anda mendapatkan pesan {i>error<i} HTTP 429 dengan status RESOURCE_EXHAUSTED.

Pembatalan validasi bisa berapa pun. Misalnya, membuat validasi /images/my-image.png dihitung sebagai satu pembatalan validasi. Membatalkan validasi /images/* juga dihitung sebagai satu pembatalan validasi.

Perilaku ini berbeda dengan perilaku pada di Cloud CDN. Cloud CDN mendukung satu pembatalan validasi per menit.