Spring Cloud Function4.1.3

Spring Cloud Function 是一個專案,其高階目標如下:

  • 透過函數推動業務邏輯的實作。

  • 將業務邏輯的開發生命週期與任何特定的執行階段目標分離,以便相同的程式碼可以作為 Web 端點、串流處理器或任務執行。

  • 在無伺服器供應商之間支援統一的程式設計模型,並能夠獨立執行(在本機或 PaaS 中)。

  • 在無伺服器供應商上啟用 Spring Boot 功能(自動組態、依賴注入、指標)。

它抽象化了所有傳輸細節和基礎架構,讓開發人員可以保留所有熟悉的工具和流程,並堅定地專注於業務邏輯。

功能

Spring Cloud Function 功能

  • 程式設計風格的選擇 - 反應式、命令式或混合式。

  • POJO 函數(即,如果某事物符合 @FunctionalInterface 語意,我們將其視為函數)

  • 輸入和輸出的透明類型轉換。

  • 函數組合,包括將命令式函數與反應式函數組合。

  • REST 支援,將函數公開為 HTTP 端點等。

  • 透過 Spring Cloud Stream 框架,將串流資料(透過 Apache KafkaSolaceRabbitMQ 等)傳輸到函數或從函數傳輸。

  • 部署封裝為 JAR 檔案且具有隔離類別載入器的函數,以支援單一 JVM 中的多版本部署。

  • 針對特定目標平台(例如,Project Riff、AWS Lambda 等)封裝函數以進行部署

  • AWS LambdaMicrosoft AzureApache OpenWhisk 以及可能其他「無伺服器」服務供應商的适配器。

  • 支援具有多個輸入和輸出的反應式函數,允許函數處理合併、聯結和其他複雜的串流操作。

這是一個完整的、可執行的、可測試的 Spring Boot 應用程式(實作簡單的字串操作)

@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

  @Bean
  public Function<String, String> uppercase() {
    return value -> value.toUpperCase();
  }
}

GitHub

組件與範例

spring-cloud-function 各個模組的組件可在 Maven Central 儲存庫的 spring-cloud-function-* 下取得。您至少需要 spring-cloud-function-context 模組。

您也可以試用我們的範例,這些範例可在 GitHub 儲存庫的專案中找到

與我們交流

如果您希望貢獻,您可以挑選目前列出的任何問題,或直接提交 PR,其中包含您認為對專案有益的功能。您也可以尋找標有 ideal-for-contribution 標籤的問題。

範例專案與社群貢獻

部落格

Spring Initializr

快速開始您的專案

取得領先

VMware 提供訓練和認證,以加速您的進度。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

檢視全部