Spring Cloud Function4.1.3

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 各种模块的工件可在 Maven Central 存储库中找到,位于 spring-cloud-function-* 下。至少您需要 spring-cloud-function-context 模块。

您还可以尝试我们项目 GitHub 的存储库 中提供的示例

联系我们

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

示例项目和社区贡献

博客

Spring Initializr

快速入门您的项目

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部