Dengan Service Extensions, Anda dapat menggunakan ekstensi untuk menyisipkan kode kustom di jalur pemrosesan Media CDN. Halaman ini memberikan ringkasan tentang ekstensi Media CDN.
Media CDN menyediakan banyak kemampuan inti bawaan untuk mengatasi kasus penggunaan yang paling umum untuk jaringan penayangan konten (CDN). Anda mungkin memiliki persyaratan di luar kemampuan ini. Misalnya, Anda mungkin perlu menormalisasi header untuk meningkatkan caching, menggunakan algoritma penandatanganan URL kustom, atau memindahkan perilaku lama dari CDN yang ada ke Media CDN.
Anda dapat menggunakan ekstensi edge (CdnEdgeExtension) untuk menjalankan plugin WebAssembly (Wasm) langsung di jaringan edge Google di depan cache di jalur pemrosesan Media CDN.
Resource CdnEdgeExtension terhubung langsung ke deployment EdgeCacheService
dan menjalankan satu atau beberapa rantai ekstensi yang diurutkan (extensionChains).
Setiap rantai ekstensi menentukan kondisi pencocokan Common Expression Language (CEL)
(matchCondition.celExpression) untuk mengevaluasi permintaan secara selektif
berdasarkan nama host, jalur URL, parameter kueri, atau header permintaan HTTP.
Plugin dapat mengakses dan memanipulasi header permintaan dan header respons HTTP, memengaruhi pembuatan kunci cache, memvalidasi token otorisasi kustom atau tanda tangan URL, dan menyajikan respons sintetis. Untuk mengetahui informasi selengkapnya, lihat Gambar 1.
Cara kerja ekstensi edge Media CDN
Saat permintaan klien mencapai EdgeCacheService yang diperluas oleh ekstensi
edge, ekstensi akan berjalan dalam urutan berikut:
Evaluasi kondisi pencocokan: Media CDN mengekstrak atribut permintaan dan mengevaluasi
extensionChainsyang diurutkan yang ditentukan dalamCdnEdgeExtension. Rantai pertama yang ekspresi CEL-nya bernilaitrueakan berjalan, dan semua rantai berikutnya akan dilewati.Pemrosesan header permintaan plugin (
REQUEST_HEADERS): plugin yang Anda konfigurasi berjalan secara berurutan. Anda dapat merangkai maksimum dua plugin dalam satu rantai ekstensi. Plugin dapat memeriksa header HTTP dan atribut Envoy yang diteruskan, menambahkan atau menulis ulang header permintaan, atau menampilkan respons sintetis langsung ke klien.Pencocokan rute dan pemilihan origin: Media CDN mengevaluasi aturan rute, lalu memilih origin target berdasarkan permintaan, termasuk header permintaan atau jalur URL yang diubah oleh plugin.
Pencarian cache dan pengambilan origin: Media CDN mengevaluasi kunci cache (yang dapat menggabungkan header permintaan atau jalur URL yang diubah oleh plugin), memeriksa penyimpanan cache edge, dan menyajikan konten saat cache ditemukan atau mengambil konten dari origin yang dipilih saat cache tidak ditemukan.
Pemrosesan header respons plugin (
RESPONSE_HEADERS): setelah konten diambil dari cache atau origin, plugin yang Anda konfigurasi akan berjalan secara berurutan. Kemudian, header respons yang diubah akan dikirim ke klien downstream.Pengiriman ke klien: header respons dan isi respons akhir dikirim ke klien.