- Wykorzystanie Google Cloud Storage i Cloud Run do tworzenia CDN – część 2
- Drugi wpis poświęcony wykorzystaniu Google Cloud Storage i Cloud Run do budowy sieci dostarczania treści (CDN). Opisujemy optymalizację przesyłania obrazów i plików tekstowych oraz dystrybucję zasobów w 8 regionach na całym świecie w celu zmniejszenia opó
Tekst przetłumaczony przez AI.
Podsumowanie posta wygenerowane przez AI durumis
- Artykuł wyjaśnia, jak optymalizować obrazy załadowane do Google Cloud Storage i konwertować je do różnych formatów za pomocą Cloud Run.
- Wykorzystując zdarzenia uploadu i usunięcia plików w Cloud Storage, konwertujemy obrazy do formatów AVIF, WebP, a pliki tekstowe kompresujemy, replikując je i synchronizując usunięcia w innych regionach.
- Dzięki temu można efektywnie zarządzać optymalizacją obrazów i synchronizacją plików w środowisku CDN. W kolejnych artykułach omówimy wykorzystanie Google Cloud Load Balancer.
W poprzednim wpisie omówiliśmy przesyłanie obrazów zsynchronizowanych z GCS za pomocą Cloud Run.
W ramach ostatniego wpisu z serii o CDN omówimy synchronizację GCS i optymalizację obrazów.
Cloud Run domyślnie działa za pośrednictwem hooka HTTP, ale nie jest to jedyny dostępny wyzwalacz zdarzeń.
Cloud Run
Podczas konfigurowania Cloud Run można zauważyć sekcję „Trigger”, w której znajduje się lista opcji, takich jak Pub/Sub, Cloud Storage, Filestore i inne. Oprócz domyślnego HTTP, pozostałe opcje obejmują najczęściej używane produkty, a inne zdarzenia, o których można pomyśleć, znajdują się w kategorii „Inne”. Wybierzmy Cloud Storage i przejrzyjmy dostępne opcje. Znajdziemy tam różne typy zdarzeń, takie jak zmiana pliku, usunięcie pliku, utworzenie pliku, zmiana metadanych pliku itp.
Cloud Run Eventarc
Utworzymy Cloud Run, który będzie wykorzystywał dwa zdarzenia: „deleted” i „finalized”. W ten sposób będziemy mogli tworzyć zdarzenia dla sytuacji, gdy plik zostanie przesłany do GCS lub gdy zostanie usunięty.
Cloud Run musi wykonać następujące czynności:
- Po przesłaniu pliku należy sprawdzić jego typ i wykonać odpowiedni proces.
- Jeśli jest to plik tekstowy (css, js), należy go skompresować za pomocą br i gzip, tworząc nowy plik.
- Jeśli jest to obraz, należy użyć pakietu npm sharp do konwersji do formatów avif i webp.
- Nowo utworzone pliki są kopiowane do innych „regionów”.
- W przypadku żądania usunięcia pliku, usuwane są również jego kopie w innych regionach.
W zasadzie, jeśli te trzy czynności (konwersja, kopiowanie, usuwanie) zostaną prawidłowo zaimplementowane, synchronizacja plików nie będzie stanowiła większego problemu, nawet w przypadku wielu regionów. Kod jest prosty, wystarczy połączenie z GCS i użycie pakietu npm sharp.
Na tym kończymy podstawową serię wpisów o CDN.
W kolejnych wpisach skupimy się na GCLB (Google Cloud Loadbalancer).
Oczywiście, w kontekście CDN, temat load balancerów (LB) jest kluczowy, ale w poprzednich wpisach niektóre aspekty zostały pominięte. W kolejnych wpisach omówimy je szczegółowo.
Dziękujemy.