Spring Cloud Function4.1.2

Spring Cloud Function 是一个具有以下高级目标的项目

  • 通过函数促进业务逻辑的实现。

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

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

  • 在无服务器提供程序上启用 Spring Boot 功能(自动配置、依赖项注入、指标)。

它抽象了所有传输细节和基础设施,允许开发者保留所有熟悉的工具和流程,并专注于业务逻辑。

功能

Spring Cloud Function 功能

  • 编程风格选择 - 响应式、命令式或混合式。

  • POJO 函数(即,如果某个内容符合 @FunctionalInterface 语义,我们将把它当作函数处理)

  • 输入和输出的透明类型转换。

  • 函数组合,包括将命令式函数与响应式函数组合。

  • REST 支持,将函数公开为 HTTP 终结点等。

  • 流数据(通过 Apache KafkaSolaceRabbitMQ 及更多)通过 Spring Cloud Stream 框架从函数到函数或从函数到外部。

  • 部署打包为 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 的各种模块的制品可在 spring-cloud-function-* 下的 Maven Central 仓库中找到。至少需要 spring-cloud-function-context 模块。

您还可以在项目 GitHub 的仓库 中尝试我们的示例

联系我们

如果您希望做出贡献,您可以选择当前列出的任何问题,或者只需提交一个 PR,其中包含您认为对项目有益的功能。您还可以查找带有 ideal-for-contribution 标签 的问题。

示例项目和社区贡献

博客

Spring Initializr

快速启动您的项目

抢先一步

VMware 提供培训和认证,让您的进度如虎添翼。

了解更多信息

获取支持

Tanzu Spring Runtime 在一个简单的订阅中为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多信息

即将举行的活动

查看 Spring 社区即将举行的所有活动。

查看全部