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

Firebase Hosting integruje się z bezserwerowymi opcjami przetwarzania danych, w tym: Cloud Functions for Firebase i Cloud Run. Używasz Firebase Hosting z za pomocą tych opcji możesz hostować mikroserwisy, kierując żądania HTTPS do wywołania z funkcji i skonteneryzowanych aplikacji w zarządzanym, bezpiecznym środowisku.

Cloud Functions for Firebase: piszesz i wdrażasz czyli kod backendu, który reaguje na określony aktywator. 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ą funkcji Firebase Hosting może kierować żądania HTTPS w celu aktywowania skonteneryzowanej aplikacji.

Przypadki użycia

Jak korzystać z opcji bezserwerowego przetwarzania danych w usłudze 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ć wzorzec adresu URL (taki jak /blog/<blog-post-id>) do strony funkcja, która korzysta z parametru identyfikatora posta na blogu w adresie URL do pobierania treści z Twojej bazy danych.

  • Tworzenie interfejsów API typu REST – możesz utworzyć interfejs API mikroserwisu za pomocą funkcji.

    Na przykład funkcje mogą obsługiwać logowanie na Twoim koncie witryny. Gdy witryna jest hostowana pod adresem /, wszystkie żądania wysyłane do domeny /api są do interfejsu API mikroserwisu. Na przykład przeczytaj ten przykładowy kod open source.

  • Buforuj zawartość dynamiczną – możesz skonfiguruj buforowanie zawartości dynamicznej w do globalnej sieci CDN.

    Jeśli na przykład funkcja generuje nowe treści tylko okresowo, może przyspieszyć działanie aplikacji, przechowując wygenerowaną treść w pamięci podręcznej okresu. Możliwe jest też zmniejszenie kosztów wykonania, ponieważ jest wyświetlana z sieci CDN, a nie przez wyzwoloną funkcję lub i skonteneryzowaną aplikacją.

  • Przedrenderuj aplikacje typu single-page – możesz poprawić SEO i zoptymalizować udostępnianie w różnych sieciach społecznościowych, tworząc dynamiczne metatagi. Do więcej informacji znajdziesz w tym filmie lub sprawdź ten przykładowy kod open source.

Wybór opcji bezserwerowej

Mimo że zarówno Cloud Functions for Firebase, jak i Cloud Run – zintegruj z Firebase Hosting oraz w pełni zarządzane, autoskalowanie i bezpieczne środowiska bezserwerowego, dwie opcje można wykorzystać w różnych przypadkach użycia. i odpowiedni poziom spersonalizowanej konfiguracji.

Jeśli korzystasz z dowolnej z opcji bezserwerowych, najlepiej jest współdzielić ją z serwerami dla Firebase Hosting po wdrożeniu w jednym z tych regionów:

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

W tabeli poniżej znajdziesz podstawowe uwagi na temat używania Cloud Functions for FirebaseCloud Run. Pełna lista limity, limity i wskaźniki można znaleźć w szczegółowej dokumentacji danej usługi (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: 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 go określić który wersji Node.js. Podczas tworzenia container, określasz środowisko wykonawcze.
Obsługa języków i ramek

JavaScript i TypeScript

Obsługiwane są frameworki internetowe, takie jak Express.js.

Każdy język obsługiwany przez Dockerfiles, w tym Go, Node.js, Python, Java i inne

Dla każdego języka obsługiwane są platformy internetowe.

Czas oczekiwania na żądanie Hosting 60 sekund (zobacz uwagę poniżej) 60 sekund (zobacz uwagę poniżej)
Równoczesność 1 żądanie na instancję funkcji
(brak równoczesności na instancję)
Do 1000 równoczesnych żądań na instancję kontenera
Płatności Użycie danych Cloud Functions

Bezpłatny limit, ale wymagane jest konto Cloud Billing. Zobacz Najczęstsze pytania dotyczące Firebase.

Użycie Cloud Run + Container Registry miejsca na dane

Limit bezpłatnego wykorzystania, ale Wymagane jest Cloud Billing konto