Firebase Hosting integruje się z opcjami przetwarzania bezserwerowego, w tym Cloud Functions dla Firebase i Cloud Run. Korzystając z Hostingu Firebase z tymi opcjami, możesz hostować mikrousługi, kierując żądania HTTPS w celu uruchomienia funkcji i aplikacji kontenerowych w zarządzanym, bezpiecznym środowisku.
Cloud Functions dla Firebase : piszesz i wdrażasz funkcję, która jest kodem zaplecza reagującym na określony wyzwalacz. Następnie, korzystając z Hostingu Firebase, możesz kierować żądania HTTPS, aby uruchamiać swoją funkcję.
Cloud Run : piszesz i wdrażasz aplikację spakowaną w obrazie kontenera. Następnie, korzystając z Hostingu Firebase, możesz kierować żądania HTTPS, aby uruchomić aplikację w kontenerze.
Przypadków użycia
Jak możesz korzystać z opcji przetwarzania bezserwerowego w Hostingu Firebase?
Udostępniaj zawartość dynamiczną — oprócz udostępniania zawartości statycznej w witrynie Hostingu możesz udostępniać dynamicznie generowane odpowiedzi z funkcji lub aplikacji kontenerowej, która wykonuje logikę po stronie serwera.
Na przykład możesz wskazać wzorzec adresu URL (taki jak
/blog/<blog-post-id>
) na funkcję, która używa parametru identyfikatora wpisu na blogu adresu URL do dynamicznego pobierania treści z bazy danych.Zbuduj interfejsy API REST — możesz utworzyć interfejs API mikrousługi za pomocą funkcji.
Na przykład funkcje mogą obsługiwać funkcję logowania do Twojej witryny. Gdy Twoja witryna jest hostowana pod adresem
/
, każde żądanie skierowane do/api
jest przekierowywane do Twojego interfejsu API mikrousług. Aby zobaczyć przykład, sprawdź tę próbkę open source .Przechowuj zawartość dynamiczną w pamięci podręcznej — możesz skonfigurować buforowanie zawartości dynamicznej w globalnej sieci CDN.
Na przykład, jeśli funkcja generuje nową zawartość tylko okresowo, możesz przyspieszyć działanie aplikacji, przechowując wygenerowaną zawartość w pamięci podręcznej przez co najmniej krótki okres czasu. Możesz również potencjalnie obniżyć koszty wykonania, ponieważ treść jest obsługiwana z sieci CDN, a nie za pośrednictwem wyzwalanej funkcji lub aplikacji w kontenerze.
Prerenderuj swoje aplikacje jednostronicowe — Możesz poprawić SEO i zoptymalizować udostępnianie w różnych sieciach społecznościowych, tworząc dynamiczne
meta
. Aby dowiedzieć się więcej, obejrzyj ten film lub zapoznaj się z tym przykładem open source .
Wybór opcji bezserwerowej
Chociaż zarówno Cloud Functions for Firebase, jak i Cloud Run integrują się z Firebase Hosting i oferują w pełni zarządzane, automatycznie skalowane i bezpieczne środowisko bezserwerowe, te dwie opcje można wykorzystać do różnych przypadków użycia i pożądanego poziomu dostosowanej konfiguracji.
W poniższej tabeli opisano kilka podstawowych kwestii związanych z używaniem Cloud Functions dla Firebase i Cloud Run. Pełną listę limitów, limitów i wskaźników znajdziesz w szczegółowej dokumentacji każdej usługi ( Cloud Functions for Firebase lub Cloud Run ).
Namysł | Funkcje chmury dla Firebase | Bieg w chmurze |
---|---|---|
Organizować coś | Firebase CLI łączy wiele zadań w pojedyncze polecenia, od inicjowania po budowanie i wdrażanie. | Kontenery oferują więcej opcji dostosowywania, więc zadania konfigurowania, kompilowania i wdrażania obejmują oddzielne kroki. |
Środowisko uruchomieniowe | Wymaga Node.js, ale możesz określić , której wersji Node.js chcesz użyć. | Podczas budowania kontenera określasz środowisko wykonawcze. |
Obsługa języków i frameworków | JavaScript i TypeScript Obsługiwane są platformy internetowe, takie jak Express.js. | Dowolny język obsługiwany przez Dockerfile, w tym Go, Node.js, Python, Java i inne Obsługiwane są struktury sieciowe dla każdego języka. |
Przekroczono limit czasu dla żądania hostingu | 60 sekund (patrz uwaga poniżej) | 60 sekund (patrz uwaga poniżej) |
Konkurencja | 1 żądanie na instancję funkcji (brak współbieżności na instancję) | Do 1000 jednoczesnych żądań na instancję kontenera |
Dane do faktury | Użycie Cloud Functions Bezpłatny limit użytkowania, ale wymagane jest konto rozliczeniowe w chmurze . Zobacz najczęściej zadawane pytania dotyczące Firebase . | Wykorzystanie Cloud Run + miejsce w Container Registry Bezpłatny limit użytkowania, ale wymagane jest konto rozliczeniowe w chmurze |