Firebase Hosting 可與無伺服器運算選項整合,包括 Cloud Functions for Firebase 和 Cloud 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 提供,而非透過觸發的函式或容器化應用程式,因此您可能也能降低執行成本。
預先算繪單頁應用程式:您可以建立動態
meta
標記,改善 SEO 並在各種社群網路上分享內容。如要瞭解詳情,請觀看這部影片或參閱這個開放原始碼範例。
選擇無伺服器選項
Cloud Functions for Firebase 和 Cloud Run 都與 Firebase Hosting 整合,並提供全代管、自動調度資源且安全的無伺服器環境,但這兩種選項適用於不同的用途,以及所需的自訂設定層級。
使用任一無伺服器選項時,最好將其與伺服器共置,方法是在下列任一區域中部署:Firebase Hosting
us-west1
us-central1
us-east1
europe-west1
asia-east1
下表說明使用 Cloud Functions for Firebase 與 Cloud Run 時的一些基本考量。如需配額、限制和指標的完整清單,請參閱各產品的詳細說明文件 (Cloud Functions for Firebase 或 Cloud Run)。
考慮度 | Cloud Functions for Firebase | Cloud Run |
---|---|---|
設定方式 | Firebase CLI 會將多項工作綁定為單一指令,從初始化到建構及部署,都能透過這個指令完成。 | 容器提供更多自訂選項,因此設定、建構和部署工作會涉及個別步驟。 |
執行階段環境 | 需要 Node.js,但您可以指定要使用的 Node.js 版本。 | 建構容器時,請指定執行階段環境。 |
支援的語言和架構 | JavaScript 和 TypeScript 支援 Express.js 等網頁架構。 |
Dockerfiles 支援的任何語言,包括 Go、Node.js、Python、Java 等 支援各語言的網路架構。 |
Hosting 要求逾時 | 60 秒 (請參閱下方注意事項) | 60 秒 (請參閱下方注意事項) |
並行 | 每個函式執行個體 1 項要求 (每個執行個體沒有並行) |
每個容器執行個體最多可處理 1,000 個並行要求 |
帳單 | Cloud Functions 用量
免費用量配額,但必須有Cloud Billing帳戶。請參閱 Firebase 常見問題。 |
Cloud Run 使用量 +
Container Registry 儲存空間
提供免費用量配額,但必須擁有 Cloud Billing 帳戶 |