Hosting Firebase integruje się z bezserwerowymi opcjami przetwarzania danych, takimi jak Cloud Functions dla Firebase i Cloud Run. Korzystając z Hostingu Firebase z tymi opcjami, możesz hostować mikroserwisy, kierując żądania HTTPS tak, aby wyzwalały działanie funkcji i skonteneryzowanych aplikacji w zarządzanym, bezpiecznym środowisku.
Cloud Functions dla Firebase – tworzysz i wdrażasz funkcję, czyli kod backendu, który odpowiada na określony aktywator. Następnie za pomocą Hostingu Firebase możesz kierować żądania HTTPS, aby aktywować funkcję.
Cloud Run: zapisujesz i wdrażasz aplikację spakowaną do obrazu kontenera. Następnie za pomocą Hostingu Firebase możesz kierować żądania HTTPS, aby aktywować skonteneryzowaną aplikację.
Przypadki użycia
Jak można wykorzystać bezserwerowe opcje przetwarzania danych w Hostingu Firebase?
Udostępnianie zawartości dynamicznej – oprócz wyświetlania treści statycznych w swojej witrynie Hostingu możesz też udostępniać generowane dynamicznie odpowiedzi z funkcji lub skonteneryzowanej aplikacji, która obsługuje logikę po stronie serwera.
Możesz na przykład wskazać wzorzec adresu URL (takiego jak
/blog/<blog-post-id>
) do funkcji, która korzysta z parametru identyfikatora posta na blogu z adresu URL w celu dynamicznego pobierania treści z bazy danych.Tworzenie interfejsów API typu REST – możesz tworzyć interfejsy API mikroserwisów za pomocą funkcji.
Funkcje mogą na przykład obsługiwać funkcję logowania się w Twojej witrynie. Gdy Twoja witryna jest hostowana pod adresem
/
, wszystkie żądania wysyłane do/api
są przekierowywane do interfejsu API mikroserwisu. Zapoznaj się z tym przykładem typu 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 co jakiś czas, możesz przyspieszyć działanie aplikacji, przechowując wygenerowaną treść w pamięci podręcznej przez co najmniej krótki czas. Możesz też zmniejszyć koszty wykonania, ponieważ treści są dostarczane z sieci CDN, a nie przez aktywowaną funkcję lub aplikację znajdującą się w kontenerze.
Renderowanie wstępnie aplikacji jednostronicowych – utwórz dynamiczne tagi
meta
, aby ulepszyć SEO i zoptymalizować udostępnianie treści w różnych sieciach społecznościowych. Aby dowiedzieć się więcej, obejrzyj ten film lub zapoznaj się z tą próbką na licencji open source.
Wybieranie opcji bezserwerowej
Choć usługi Cloud Functions dla Firebase oraz Cloud Run integrują się z Hostingiem Firebase oraz zapewniają w pełni zarządzane, autoskalowanie i bezpieczne środowisko bezserwerowe, 2 opcje można wykorzystać w różnych przypadkach użycia i na pożądanym poziomie niestandardowej konfiguracji.
Jeśli korzystasz z dowolnej z opcji bezserwerowych, najlepiej jest umieścić ją w połączeniu z serwerami Hostingu Firebase przez wdrożenie w jednym z tych regionów:
us-west1
us-central1
us-east1
europe-west1
asia-east1
W tabeli poniżej opisujemy kilka podstawowych kwestii związanych z korzystaniem z Cloud Functions dla Firebase w porównaniu z Cloud Run. Pełną listę limitów, limitów i wskaźników znajdziesz w szczegółowej dokumentacji poszczególnych usług (Cloud Functions dla Firebase lub Cloud Run).
Rozważanie zakupu | Cloud Functions dla Firebase | Cloud Run, |
---|---|---|
Konfiguracja | Interfejs wiersza poleceń Firebase łączy wiele zadań w jedno polecenia, od inicjowania po kompilowanie i wdrażanie. | Kontenery zapewniają więcej możliwości dostosowania, co oznacza, że zadania konfigurowania, kompilacji i wdrażania obejmują konkretne kroki. |
Środowisko wykonawcze | Wymaga Node.js, ale możesz określić, której wersji Node.js chcesz używać. | Podczas kompilacji kontenera określasz środowisko wykonawcze. |
Obsługa języków i platform | JavaScript i TypeScript Obsługiwane są takie platformy jak Express.js. |
Każdy język obsługiwany przez Dockerfiles, w tym Go, Node.js, Python, Java i inne Obsługiwane są platformy internetowe w każdym języku. |
Upłynął limit czasu oczekiwania na odpowiedź w usłudze Hosting | 60 sekund (patrz uwaga poniżej) | 60 sekund (patrz uwaga poniżej) |
Równoczesność | 1 żądanie na instancję funkcji (bez równoczesności na instancję) |
Do 1000 żądań równoczesnych na instancję kontenera |
Płatności | Wykorzystanie Cloud Functions
Limit bezpłatnego wykorzystania, ale wymagane jest konto rozliczeniowe Cloud. Zobacz najczęstsze pytania dotyczące Firebase. |
Wykorzystanie Cloud Run + Miejsce na dane w Container Registry
Limit bezpłatnego wykorzystania, ale wymagane jest konto rozliczeniowe Cloud |