此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-function 4.1.4spring-doc.cn

介绍

Spring Cloud Function 是一个具有以下高级目标的项目:spring-doc.cn

  • 通过函数促进业务逻辑的实现。spring-doc.cn

  • 将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便相同的代码可以作为 Web 终端节点、流处理器或任务运行。spring-doc.cn

  • 支持跨无服务器提供商的统一编程模型,以及独立运行(本地或在 PaaS 中)的能力。spring-doc.cn

  • 在无服务器提供商上启用 Spring Boot 功能(自动配置、依赖项注入、指标)。spring-doc.cn

它抽象出所有传输细节和 基础架构,使开发人员能够保留所有熟悉的工具 和流程,并坚定地关注业务逻辑。spring-doc.cn

这是一个完整的、可执行的、可测试的 Spring Boot 应用程序 (实现简单的字符串操作):spring-doc.cn

@SpringBootApplication
public class Application {

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

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

它只是一个 Spring Boot 应用程序,因此可以构建、运行和 在本地和 CI 构建中进行测试,与任何其他 Spring 一样 引导应用程序。它来自 和 是来自 Project Reactor 的反应。该函数可以是 通过 HTTP 或消息传递访问。Functionjava.utilFluxPublisherspring-doc.cn

Spring Cloud Function 具有以下特点:spring-doc.cn

  • 编程风格的选择 - 反应式、命令式或混合式。spring-doc.cn

  • 函数组合和适应(例如,使用 reactive 组合命令式函数)。spring-doc.cn

  • 支持具有多个输入和输出的响应式函数,允许函数处理合并、联接和其他复杂的流操作。spring-doc.cn

  • 输入和输出的透明类型转换。spring-doc.cn

  • 打包特定于目标平台的部署函数(例如 Project Riff、AWS Lambda 等)spring-doc.cn

  • 适配器,用于将函数作为 HTTP 端点等公开给外部世界。spring-doc.cn

  • 使用隔离的类加载器部署包含此类应用程序上下文的 JAR 文件,以便您可以将它们打包到单个 JVM 中。spring-doc.cn

  • 适用于 AWS LambdaAzureGoogle Cloud Functions 以及可能的其他“无服务器”服务提供商的适配器。spring-doc.cn