Obsługa treści dynamicznych i hostowanie mikroserwisów z użyciem Hostingu Firebase

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