- Menggunakan Google Cloud Storage dan Cloud Run untuk CDN - 2
- Ini adalah artikel kedua tentang cara membangun CDN menggunakan Google Cloud Storage dan Cloud Run. Artikel ini menjelaskan cara mengoptimalkan pengiriman gambar dan file teks, serta mendistribusikan sumber daya ke 8 wilayah di seluruh dunia untuk mengura
Teks yang diterjemahkan oleh AI.
Ringkasan posting oleh durumis AI
- Artikel ini menjelaskan cara mengoptimalkan gambar yang diunggah ke Google Cloud Storage dan mengonversinya ke berbagai format menggunakan Cloud Run.
- Dengan memanfaatkan event upload dan delete file di Cloud Storage, gambar akan dikonversi ke format AVIF dan WebP, sementara file teks akan dikompresi dan direplikasi ke wilayah lain, serta menghapusnya secara sinkron.
- Melalui pendekatan ini, optimasi gambar dan sinkronisasi file dapat dikelola secara efisien di lingkungan CDN. Artikel ini juga memberikan gambaran tentang penggunaan Google Cloud Load Balancer di artikel selanjutnya.
Pada postingan sebelumnya, kami telah membahas tentang cara mengirimkan file gambar yang disinkronkan ke GCS menggunakan Cloud Run.
Maka, sebagai penutup seri CDN, mari kita bahas tentang sinkronisasi dan optimasi gambar di GCS.
Cloud Run pada dasarnya beroperasi melalui HTTP Hook, tetapi itu bukanlah satu-satunya pemicu acara.
Cloud Run
Saat Anda mengonfigurasi Cloud Run, Anda akan melihat bagian bernama Trigger, dan di sana Anda akan menemukan daftar seperti Pub/Sub, Cloud Storage, Filestore, dan lainnya. Selain HTTP yang disediakan secara default, yang lainnya adalah produk yang paling banyak digunakan, dan sebagian besar acara yang dapat Anda pikirkan ada di bagian 'Lainnya'. Pertama-tama, mari kita pilih acara Cloud Storage yang akan kita gunakan dan masuk ke dalamnya. Di sana, Anda akan menemukan berbagai jenis acara seperti ketika file diubah, file dihapus, file dibuat, dan metadata file diubah.
Cloud Run Eventarc
Di sini, dengan menggunakan dua acara, yaitu 'deleted' dan 'finalized', kita akan membuat Cloud Run yang menangani acara ketika file diunggah ke GCS atau ketika file yang telah diunggah dihapus.
Ada beberapa hal yang harus ditangani oleh Cloud Run, yaitu:
- Ketika file diunggah, periksa jenis file tersebut dan proses sesuai dengan langkah-langkah berikut:
- Jika file teks (css, js), kompres file tersebut menggunakan br dan gzip untuk membuat file baru.
- Jika file gambar, gunakan sharp npm untuk membuat format yang dikonversi ke avif dan webp.
- Salin file yang baru dibuat ke berbagai 'region' lainnya.
- Saat ada permintaan penghapusan file, hapus juga file yang ada di region lainnya.
Pada dasarnya, jika Anda dapat menangani ketiga hal utama ini (konversi, replikasi, dan penghapusan) dengan baik, sinkronisasi file tidak akan terlalu sulit, meskipun ada banyak region. Dalam kode, Anda hanya perlu menggunakan dua npm, yaitu untuk menghubungkan ke GCS dan menggunakan sharp, yang membuatnya mudah untuk ditangani.
Dengan demikian, selesailah seri postingan dasar tentang CDN.
Pada postingan selanjutnya, kita akan membahas tentang GCLB (Google Cloud Loadbalancer).
Secara umum, pembahasan tentang CDN pasti akan mencakup load balancer (LB), tetapi ada beberapa bagian yang dihilangkan dalam penjelasan ini. Kita akan membahasnya secara bertahap pada postingan selanjutnya.
Terima kasih.