Firebase Hosting integruje się z opcjami bezserwerowego przetwarzania danych, w tym Cloud Functions for Firebase i Cloud Run. Korzystając z Firebase Hosting z tymi opcjami, możesz hostować mikroserwisy, kierując żądania HTTPS, aby wywoływać funkcje i aplikacje skonteneryzowane w zarządzanym, bezpiecznym środowisku.
Cloud Functions for Firebase: piszesz i wdrażasz funkcję, czyli kod backendu, który reaguje na określony czynnik. Następnie za pomocą funkcjiFirebase Hosting możesz kierować żądania HTTPS, aby wywołać funkcję.
Cloud Run: tworzysz i wdrażasz aplikację spakowaną w obraz kontenera. Następnie za pomocą Firebase Hosting możesz kierować żądania HTTPS, aby uruchomić konteneryzowaną aplikację.
Przypadki użycia
Jak korzystać z opcji bezserwerowego przetwarzania danych w Firebase Hosting?
Wyświetlanie treści dynamicznych – oprócz wyświetlania treści statycznych w witrynie Hosting możesz wyświetlać odpowiedzi generowane dynamicznie z funkcji lub z aplikacji w kontenerze, która wykonuje logikę po stronie serwera.
Możesz na przykład wskazać wzór adresu URL (np.
/blog/<blog-post-id>
) funkcji, która używa parametru identyfikatora posta na blogu w adresie URL do dynamicznego pobierania treści z bazy danych.Tworzenie interfejsów API REST – za pomocą funkcji możesz utworzyć interfejs API mikrousługi.
Mogą one na przykład obsługiwać funkcję logowania w Twojej witrynie. Ponieważ Twoja witryna jest hostowana pod adresem
/
, każda prośba wysłana do adresu/api
jest przekierowywana do interfejsu API mikroserwisu. Przykładem jest ten przykładowy projekt open source.Buforowanie treści dynamicznych – możesz skonfigurować buforowanie treści dynamicznych w globalnej sieci CDN.
Jeśli na przykład funkcja generuje nowe treści tylko okresowo, możesz przyspieszyć działanie aplikacji, umieszczając w pamięci podręcznej wygenerowane treści na co najmniej krótki czas. Możesz też potencjalnie obniżyć koszty wykonania, ponieważ treści są dostarczane z CDN, a nie za pomocą funkcji wywołanej lub aplikacji w kontenerze.
Przedrenderuj aplikacje typu single-page – możesz poprawić SEO i zoptymalizować udostępnianie w różnych sieciach społecznościowych, tworząc dynamiczne
meta
tagi. Aby dowiedzieć się więcej, obejrzyj ten film lub zapoznaj się z tą próbką open source.
Wybieranie opcji bezserwerowej
Zarówno Cloud Functions for Firebase, jak i Cloud Run integrują się z usługą Firebase Hosting i oferują w pełni zarządzane, automatycznie skalowane i bezpieczne środowisko bez serwera, ale te dwie opcje można wykorzystać w różnych przypadkach użycia i w zależności od pożądanego poziomu konfiguracji.
W przypadku korzystania z dowolnej opcji bezserwerowej najlepiej jest umieścić ją w tym samym miejscu co serwery Firebase Hosting, wdrażając ją w jednym z tych regionów:
us-west1
us-central1
us-east1
europe-west1
asia-east1
W tabeli poniżej znajdziesz kilka podstawowych wskazówek dotyczących używania funkcji Cloud Functions for Firebase w porównaniu z funkcją Cloud Run. Pełną listę limitów, limitów i wskaźników znajdziesz w szczegółowej dokumentacji poszczególnych usług (Cloud Functions for Firebase lub Cloud Run).
Rozważanie zakupu | Cloud Functions for Firebase | Cloud Run |
---|---|---|
Konfiguracja | Interfejs wiersza poleceń Firebase łączy wiele zadań w pojedyncze polecenia, od inicjowania do kompilowania i wdrażania. | Kontenery oferują więcej opcji dostosowania, dlatego zadania konfiguracji, kompilacji i wdrażania obejmują oddzielne kroki. |
Środowisko wykonawcze | Wymaga środowiska Node.js, ale możesz określić, której wersji tego środowiska chcesz użyć. | Podczas tworzenia kontenera określasz środowisko wykonawcze. |
Obsługa języków i ramek | JavaScript i TypeScript Obsługiwane są frameworki internetowe, takie jak Express.js. |
dowolny język obsługiwany przez pliki Dockerfile, w tym Go, Node.js, Python, Java i inne. Obsługiwane są frameworki internetowe dla każdego języka. |
Przekroczenie limitu czasu żądania Hosting | 60 sekund (patrz uwaga poniżej) | 60 sekund (patrz uwaga poniżej) |
Równoczesność | 1 żądanie na instancję funkcji (bez równoczeności na instancję) |
Do 1000 równoczesnych żądań na instancję kontenera |
Płatności | Cloud Functions użycie
Bezpłatny limit użytkowania, ale wymagane jest konto Cloud Billing. Zapoznaj się z najczęstszymi pytaniami na temat Firebase. |
Cloud Run użycie +
Container Registry miejsce na dane
Bezpłatny limit, ale wymagane jest konto Cloud Billing |