Spring Cloud Function 是一个具有以下高级目标的项目:
通过函数促进业务逻辑的实现。
将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便相同的代码可以作为 Web 终端节点、流处理器或任务运行。
支持跨无服务器提供商的统一编程模型,以及独立运行(本地或在 PaaS 中)的能力。
在无服务器提供商上启用 Spring Boot 功能(自动配置、依赖项注入、指标)。
它抽象出所有传输细节和基础设施,使开发人员能够保留所有熟悉的工具和流程,并专注于业务逻辑。
Spring Cloud Function 功能:
编程风格的选择 - 反应式、命令式或混合式。
POJO 函数(即,如果某物符合 @FunctionalInterface 语义,我们会将其视为函数)
输入和输出的透明类型转换。
函数组合,包括使用 reactive 组合命令式函数。
REST 支持将函数公开为 HTTP 端点等。
通过 Spring Cloud Stream 框架将数据(通过 Apache Kafka、Solace、RabbitMQ 等)流式传输到函数或从函数流出数据。
使用隔离的类加载器部署打包为 JAR 文件的函数,以支持单个 JVM 中的多版本部署。
打包特定于目标平台的部署函数(例如 Project Riff、AWS Lambda 等)
适用于 AWS Lambda、Microsoft Azure、Apache 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(); } }
spring-cloud-function-* 下的 Maven Central 存储库中提供了 spring-cloud-function 的各种模块的工件。至少你需要 module。spring-cloud-function-context
spring-cloud-function-context
您还可以尝试 GitHub 项目存储库中提供的示例
报告问题或请求功能/增强功能
Stack Overflow 通道
如果你想做出贡献,你可以选择当前列出的任何问题,或者简单地提交一个你认为对项目有益的功能的 PR。您还可以查找 label 的问题。ideal-for-contribution
ideal-for-contribution
香草
普通的旧函数
AWS Lambda
Microsoft Azure
Google Cloud 平台
阿里巴巴函数计算(社区维护)。您可以在此处和此处查看集成示例
云事件和 Spring - 第 2 部分 (Oleg Zhurakousky)
云事件和 Spring - 第 1 部分 (Oleg Zhurakousky)
Spring Cloud Stream - 功能和反应式 (Oleg Zhurakousky)
Spring Cloud Stream - 组合函数或 EIP (Oleg Zhurakousky)
使用 Spring 初始化 启动您的应用程序.
每个Spring项目都有自己的项目;它非常详细地解释了如何使用项目特性以及使用它们可以实现什么。
在 Spring 社区的支持下提供免费的安全更新和错误修复。请参见VMware Tanzu OSS 支持策略。
在 OSS 时间线期间由 Spring 专家提供的企业支持,以及 OSS 生命周期终止后的扩展支持。有关详细信息,请参阅 Tanzu Spring。
世代尚未发布,时间线可能会发生变化。
VMware 提供培训和认证,以加快您的进步。
Tanzu Spring Runtime 通过一个简单的订阅提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。
查看 Spring 社区中所有即将举行的活动。