Firebase託管與無服務器計算選項集成在一起,包括用於Firebase的Cloud Functions和Cloud Run。將Firebase Hosting與這些選項配合使用,您可以通過指示HTTPS請求來觸發您的功能和容器化的應用程序在託管,安全的環境中運行來託管微服務。
適用於Firebase的Cloud Functions :您編寫和部署一個函數,該函數是響應特定觸發器的後端代碼。然後,使用Firebase Hosting,您可以定向HTTPS請求以觸發功能運行。
Cloud Run :您編寫和部署打包在容器映像中的應用程序。然後,使用Firebase Hosting,您可以定向HTTPS請求以觸發您的容器化應用程序運行。
用例
如何在Firebase託管中使用無服務器計算選項?
服務動態內容-除了在託管站點上提供靜態內容外,您還可以提供動態的響應,這些響應是從正在執行服務器端邏輯的功能或容器化應用中獲得的。
例如,您可以將URL模式(例如
/blog/<blog-post-id>
)指向一個使用URL的博客文章ID參數的函數,以從數據庫中動態檢索內容。構建REST API-您可以使用函數創建微服務API。
例如,功能可以處理您網站的登錄功能。當您的網站託管在
/
,對/api
任何請求都將重定向到您的微服務API。例如,請查看此開源示例。例如,如果某個功能僅定期生成新內容,則可以通過將生成的內容緩存至少一小段時間來加快應用程序的速度。您還可以潛在地降低執行成本,因為內容是從CDN提供的,而不是通過觸發的函數或容器化的應用程序提供的。
預呈現您的單頁應用程序-您可以通過創建動態
meta
標籤來改善SEO並優化跨各種社交網絡的共享。要了解更多信息,請觀看此視頻或查看此開源示例。
選擇無服務器選項
雖然Firebase的Cloud Functions和Cloud Run都與Firebase Hosting集成在一起,並提供完全託管,自動擴展和安全的無服務器環境,但是這兩個選項可用於不同的用例和所需的自定義配置級別。
下表描述了將Cloud Functions用於Firebase與Cloud Run的一些基本注意事項。有關配額,限制和指標的完整列表,請參閱每個產品的詳細文檔( Firebase的Cloud Functions或Cloud Run )。
考慮 | Firebase的雲功能 | 雲跑 |
---|---|---|
設置 | 從初始化到構建和部署,Firebase CLI將多個任務捆綁到單個命令中。 | 容器提供了更多可自定義的選項,因此設置,構建和部署任務涉及離散的步驟。 |
運行環境 | 需要Node.js,但是您可以指定要使用哪個版本的Node.js(當前版本為10或12)。 | 在構建容器時,您可以指定運行時環境。 |
語言和框架支持 | JavaScript和TypeScript 支持諸如Express.js之類的Web框架。 | Dockerfiles支持的任何語言,包括Go,Node.js,Python,Java等 支持每種語言的Web框架。 |
託管請求超時 | 60秒(請參閱下面的註釋) | 60秒(請參閱下面的註釋) |
並發 | 每個功能實例1個請求 (每個實例無並發性) | 每個容器實例80個並發請求 |
開票 | 雲功能使用 免費使用配額,但是需要Cloud Billing帳戶。請參閱Firebase常見問題解答。 | 雲運行使用率+容器註冊表存儲 免費使用配額,但需要Cloud Billing帳戶 |