Serverless 與傳統堆疊
函式即服務 (FaaS)
- 事件驅動執行。
- 開發人員將所有特定於伺服器的任務委派給 FaaS 平臺。
- 開發人員僅編寫由平臺呼叫的業務邏輯,從而隨著業務需求的變化,可以進行更具彈性的需求演變。
傳統應用程式
- 必須維護伺服器基礎設施(安裝、配置、打補丁、升級等)。
- 基礎設施的擴充套件方式可能對工作負載不夠動態(浪費資源)。
- 開發人員編寫整合程式碼來處理訊息傳遞平臺、HTTP 請求/響應等。
Serverless 工作負載是“事件驅動的工作負載,不關心通常由伺服器基礎設施處理的方面”。 諸如“執行多少個例項”和“使用什麼作業系統”之類的顧慮都由函式即服務平臺(或 FaaS)管理,從而使開發人員可以自由地專注於業務邏輯。
Serverless 應用程式具有許多特定特性,包括
Spring 產品組合提供了一系列強大的功能,可在 Serverless 應用程式中使用。 無論是使用 Spring Data 訪問資料、使用 Spring Integration 使用企業整合模式,還是使用 Spring Framework 和 Project Reactor 使用最新的響應式程式設計,Spring 都可以讓開發人員從第一天起就能在 Serverless 環境中高效工作。
Spring 還可以幫助您的函式避免供應商鎖定。 Spring Cloud Function 提供的介面卡可讓您在他們的平臺上執行程式碼時,與供應商特定的 API 解耦。
Spring Cloud Function 提供的功能可讓 Spring 開發人員利用 Serverless 或 FaaS 平臺。
核心 Java 中的 java.util.function
包是 Spring Cloud Function 使用的程式設計模型的基礎。 簡而言之,Spring Cloud Function 提供
Spring Cloud Function 提供介面卡,以便您可以在最常見的 FaaS 服務上執行您的函式,包括 Amazon Lambda、Apache OpenWhisk、Microsoft Azure 和 Project Riff。