Udostępniaj dynamiczną zawartość i hostuj mikrousługi za pomocą Firebase Hosting

Hosting Firebase integruje się z opcjami przetwarzania bezserwerowego, w tym z funkcjami Cloud Functions dla Firebase i Cloud Run. Korzystając z Firebase Hosting z tymi opcjami, możesz hostować mikrousługi, kierując żądania HTTPS w celu uruchomienia funkcji i aplikacji kontenerowych w zarządzanym, bezpiecznym środowisku.

Funkcje chmury dla Firebase : piszesz i wdrażasz funkcję, która jest kodem zaplecza, który reaguje na określony wyzwalacz. Następnie, korzystając z Hostingu Firebase, możesz kierować żądania HTTPS, aby uruchomiły Twoją 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ę kontenerową.

Przypadków użycia

Jak korzystać z opcji przetwarzania bezserwerowego w Firebase Hosting?

  • Udostępniaj zawartość dynamiczną — oprócz udostępniania zawartości statycznej w witrynie hostingowej 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.

  • Twórz interfejsy API REST — możesz utworzyć interfejs API mikrousług za pomocą funkcji.

    Funkcje mogą na przykład obsługiwać funkcję logowania w Twojej witrynie. Podczas gdy Twoja witryna jest hostowana w / , każde żądanie do /api jest przekierowywane do interfejsu API mikrousługi. Na przykład przejrzyj tę próbkę o otwartym kodzie źródłowym .

  • Buforuj zawartość dynamiczną — możesz skonfigurować buforowanie zawartości dynamicznej w globalnej sieci CDN.

    Na przykład, jeśli funkcja generuje nową treść tylko okresowo, możesz przyspieszyć działanie aplikacji, buforując wygenerowaną treść przez co najmniej krótki okres czasu. Możesz także potencjalnie obniżyć koszty wykonania, ponieważ zawartość jest udostępniana z sieci CDN, a nie za pośrednictwem wyzwalanej funkcji lub aplikacji kontenerowej.

  • 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 próbką o otwartym kodzie źródłowym .

Wybór opcji bezserwerowej

Chociaż obie funkcje Cloud Functions dla Firebase i Cloud Run integrują się z Firebase Hosting i oferują w pełni zarządzane, autoskalowane i bezpieczne środowisko bezserwerowe, obie opcje można wykorzystać w różnych przypadkach użycia i wymaganym poziomie dostosowanej konfiguracji.

W przypadku korzystania z którejkolwiek opcji bezserwerowej najlepiej jest umieścić ją razem z serwerami Hostingu Firebase, wdrażając w jednym z następujących regionów:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

W poniższej tabeli opisano podstawowe uwagi dotyczące używania Cloud Functions dla Firebase w porównaniu z Cloud Run. Pełną listę przydziałów, limitów i wskaźników znajdziesz w szczegółowej dokumentacji każdego produktu ( Cloud Functions dla Firebase lub Cloud Run ).

Namysł Funkcje chmury dla Firebase Bieg w chmurze
Organizować coś Interfejs wiersza polecenia Firebase łączy wiele zadań w pojedyncze polecenia, od inicjalizacji po budowanie i wdrażanie. Kontenery oferują więcej opcji dostosowywania, więc zadania konfiguracji, kompilacji i wdrażania obejmują oddzielne kroki.
Środowisko wykonawcze Wymaga Node.js, ale możesz określić , której wersji Node.js użyć. Budując kontener , 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 Dockerfiles, w tym Go, Node.js, Python, Java i inne

Obsługiwane są struktury internetowe dla każdego języka.

Przekroczono limit czasu żą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 Wykorzystanie funkcji chmury

Bezpłatny limit wykorzystania, ale wymagane jest konto rozliczeniowe Cloud . Zobacz często zadawane pytania dotyczące Firebase .

Wykorzystanie Cloud Run + miejsce w rejestrze kontenerów

Bezpłatny limit wykorzystania, ale wymagane jest konto rozliczeniowe Cloud