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

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

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

Cloud Run:您編寫及部署 封裝在容器映像檔中接著使用 Firebase 託管 就能指示 HTTPS 要求觸發容器化應用程式執行。

用途

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

  • 提供動態內容:除了在 YouTube 網站提供靜態內容之外, 管理託管網站後,您就能透過 函式或容器化應用程式,以執行伺服器端邏輯。

    舉例來說,您可以將網址模式 (例如 /blog/<blog-post-id>) 指向 函式,此函式使用網址的網誌文章 ID 參數擷取內容 建立動態的物件

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

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

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

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

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

選擇無伺服器選項

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

使用任一無伺服器選項時,最好將其與伺服器並置 ,以便執行 Firebase 託管:

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

下表說明使用 GCP 服務時的幾個基本注意事項 比較 Cloud Functions for Firebase 和 Cloud 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 等

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

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

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

Cloud Run 用量 + Container Registry 儲存空間

免費用量配額 必須使用 Cloud Billing 帳戶