Cloud Functions 2nd Generation 是 Google Cloud 提供的第二代 Serverless Platform,建立在 Cloud Run 和 Eventarc 之上。它具有以下優點:
-
更長的請求超時: Cloud Functions 2nd Generation 的 HTTP 觸發 functions 的請求超時可達 60 分鐘,而 Cloud Functions 1st Generation 為 9 分鐘。
-
更大的實例大小: Cloud Functions 2nd Generation 的 instance 大小可達 16 GB 記憶體和 4 個 vCPU,而 Cloud Functions 1st Generation 為 8 GB 記憶體和 2 個 vCPU。
-
更高的並發性: Cloud Functions 2nd Generation 每個 function instance 可處理多達 1000 個並發請求,而 Cloud Functions 1st Generation 為每個 function instance 一個並發請求。
-
支援多個函數版本和流量分割: Cloud Functions 2nd Generation 支援多個 functions 版本和 Traffic Splitting,而 Cloud Functions 1st Generation 不支援。
-
支援超過 90 種事件類型: Cloud Functions 2nd Generation 支援超過 90 種事件類型,而 Cloud Functions 1st Generation 僅支援 7 種。
Scaling and Concurrency
Cloud Functions 2nd Generation 的擴展和並發性與 Cloud Functions 1st Generation 有很大不同。
-
Cloud Functions 1st Generation:使用典型的 Serverless Functions 架構。每個 function instance 在需要時才會被建立,因此可能會出現 cold start 的情況,也就是新的 function instance 從頭開始初始化可能需要一些時間。為了避免 cold start,您可以設定最小 instance 數,但是這可能會增加成本。
-
Cloud Functions 2nd Generation:每個 function instance 可以同時處理多個請求,最多 1000 個。這意味著您可以為您的應用程式提供更高的吞吐量和延遲。但是,function code 必須能夠安全地並發執行。
總體而言,Cloud Functions 2nd Generation 是一種更強大、更靈活的 Serverless Platform。 它是處理需要長時間執行、需要更高記憶體或 vCPU 或需要處理大量並發請求的任務的理想選擇。