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

Firebase 託管與無服務器計算選項集成,包括 Cloud Functions for Firebase 和 Cloud Run。通過這些選項使用 Firebase 託管,您可以通過引導 HTTPS 請求來觸發您的函數和容器化應用程序在託管的安全環境中運行來託管微服務。

Cloud Functions for Firebase :您編寫和部署一個函數,它是響應特定觸發器的後端代碼。然後,使用 Firebase 託管,您可以引導 HTTPS 請求來觸發您的函數運行。

Cloud Run :您編寫和部署打包在容器映像中的應用程序。然後,使用 Firebase 託管,您可以引導 HTTPS 請求來觸發您的容器化應用程序運行。

用例

如何通過 Firebase 託管使用無服務器計算選項?

  • 提供動態內容——除了在您的託管站點上提供靜態內容外,您還可以提供從執行服務器端邏輯的函數或容器化應用程序動態生成的響應。

    例如,您可以將 URL 模式(如/blog/<blog-post-id> )指向使用 URL 的博客文章 ID 參數從數據庫中動態檢索內容的函數。

  • 構建 REST API——您可以使用函數創建微服務 API。

    例如,函數可以處理您網站的登錄功能。當您的網站託管在/時,對/api的任何請求都會重定向到您的微服務 API。例如,查看這個開源示例

  • 緩存動態內容— 您可以在全局 CDN 上配置動態內容的緩存。

    例如,如果一個函數只定期生成新內容,您可以通過至少在短時間內緩存生成的內容來加速您的應用程序。您還可以潛在地降低執行成本,因為內容是從 CDN 提供的,而不是通過觸發函數或容器化應用程序提供的。

  • 預渲染您的單頁應用程序——您可以通過創建動態meta標記來改進 SEO 並優化跨各種社交網絡的共享。要了解更多信息,請觀看此視頻或查看此開源示例

選擇無服務器選項

雖然Cloud Functions for FirebaseCloud Run都與 Firebase Hosting 集成並提供完全託管、自動擴展和安全的無服務器環境,但這兩個選項可用於不同的用例和所需的自定義配置級別。

下表介紹了使用 Cloud Functions for Firebase 與 Cloud Run 的一些基本注意事項。如需配額、限制和指標的完整列表,請參閱每個產品的詳細文檔( Cloud Functions for FirebaseCloud Run )。

考慮Firebase 的雲函數雲跑
設置Firebase CLI 將多個任務捆綁到單個命令中,從初始化到構建和部署。容器提供了更多可定制的選項,因此設置、構建和部署任務涉及離散的步驟。
運行環境需要 Node.js,但您可以指定要使用的 Node.js版本構建容器時,您指定運行時環境。
語言和框架支持

JavaScript 和 TypeScript

支持 Web 框架,例如 Express.js。

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

支持每種語言的 Web 框架。

託管請求超時60 秒(見下文註釋) 60 秒(見下文註釋)
並發每個函數實例 1 個請求
(每個實例沒有並發)
每個容器實例最多 1,000 個並發請求
計費雲函數使用情況

免費使用配額,但需要Cloud Billing 帳號。請參閱Firebase 常見問題解答

Cloud Run 使用情況+ Container Registry 存儲

免費使用配額,但需要Cloud Billing 帳號