運用 Firebase 託管,提供動態內容和託管微服務

Firebase Hosting 與無伺服器運算選項整合,包括 Cloud Functions for FirebaseCloud Run。與 Firebase Hosting 搭配使用 您就能指示 HTTPS 要求觸發並託管微服務 您的函式和容器化應用程式,以便在安全的代管環境中執行。

Cloud Functions for Firebase:您編寫及部署 函式,用來回應特定觸發事件的後端程式碼。接著,您可以使用 Firebase Hosting 直接傳送 HTTPS 要求,觸發函式執行。

Cloud Run:您編寫及部署 封裝在容器映像檔中接著,您可以使用 Firebase Hosting 將 HTTPS 要求導向容器化應用程式,以便觸發執行。

用途

如何在 Firebase Hosting 中使用無伺服器運算選項?

  • 提供動態內容:除了在 Hosting 網站上提供靜態內容,您也可以從執行伺服器端邏輯的函式或容器化應用程式,提供動態產生的回應。

    舉例來說,您可以將網址模式 (例如 /blog/<blog-post-id>) 指向函式,該函式會使用網址的網誌文章 ID 參數,從資料庫中動態擷取內容。

  • 建構 REST API:您可以使用函式建立微服務 API。

    舉例來說,函式能夠處理 網站。你的網站是代管於「/」,但向「/api」發出的所有要求 重新導向至微服務 API如需範例,請參閱 這個開放原始碼範例

  • 快取動態內容:您可以 為您的動態內容設定快取 全球 CDN

    舉例來說,如果函式只會定期產生新內容 就能快取生成的內容,至少執行 範圍。您也可以降低執行成本,因為 內容會從 CDN 放送,而不是透過已觸發的函式或 容器化應用程式

  • 預先轉譯單頁應用程式:您可以改善搜尋引擎最佳化 (SEO) 及最佳化 建立動態 meta 代碼,在各社群網路上分享資訊。目的地: 詳情請觀看這部影片 或查看 這個開放原始碼範例

選擇無伺服器選項

雖然 Cloud Functions for FirebaseCloud Run 已與 Firebase Hosting,並提供全代管、自動調度資源且安全的服務 這兩種選項可用於不同的用途 以及所需的自訂設定層級

使用任一無伺服器選項時,最好將其與伺服器並置 請在下列其中一個區域部署,以使用 Firebase Hosting

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

下表說明使用 GCP 服務時的幾個基本注意事項 Cloud Functions for FirebaseCloud Run。如需 請參閱各項產品的詳細說明文件 (Cloud Functions for FirebaseCloud Run)。

考慮度 Cloud Functions for Firebase Cloud Run
設定方式 Firebase CLI 將多項工作整合為單一指令, 以及執行初始化和部署作業 容器提供更多可自訂的選項,從設定、建構和 每個部署任務包含獨立步驟
執行階段環境 需要 Node.js,但您可以指定 哪一個? 要使用的 Node.js 版本 建構容器時,您會指定執行階段環境。
語言和架構支援

JavaScript 和 TypeScript

支援 Express.js 等網路架構。

Dockerfile 支援的任何語言,包括 Go、Node.js、Python、Java 等

支援各種語言的網路架構。

Hosting 要求的逾時時間 60 秒 (請見下方「注意事項」) 60 秒 (請見下方「注意事項」)
並行 每個函式執行個體 1 個要求
(每個執行個體無並行)
每個容器執行個體最多可處理 1,000 個並行要求
帳單 Cloud Functions用量

免費用量配額 必須使用 Cloud Billing 帳戶。請參閱 Firebase 常見問題

Cloud Run 用量 + Container Registry 儲存空間

免費用量配額 需要 Cloud Billing 帳戶