spring-cloud-function
3.0.0Spring Cloud Function是一个具有以下高级目标的项目:
-
通过功能促进业务逻辑的实现。
-
将业务逻辑的开发生命周期与任何特定的运行时目标脱钩,以便可以将相同的代码作为Web终结点,流处理器或任务来运行。
-
支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的能力。
-
在无服务器提供程序上启用Spring Boot功能(自动配置,依赖项注入,指标)。
它抽象出了所有传输详细信息和基础架构,使开发人员可以保留所有熟悉的工具和流程,并专注于业务逻辑。
特征
Spring Cloud Function功能:
-
编程风格的选择-反应式,命令式或混合式。
-
功能组成和适应(例如,将命令性功能与反应性组合)。
-
支持具有多个输入和输出的反应式功能,从而允许功能处理合并,联接和其他复杂的流操作。
-
输入和输出的透明类型转换。
-
特定于目标平台的部署打包功能(例如,Project Riff,AWS Lambda等)
-
适配器将功能作为HTTP端点等向外界公开
-
使用隔离的类加载器部署包含此类应用程序上下文的JAR文件,以便可以将它们打包在一起在单个JVM中。
-
将作为Java函数体的字符串编译为字节码,然后将其转换为
@Beans
,可以按上述方式包装它们。 -
适用于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<Flux<String>, Flux<String>> uppercase() {
return flux -> flux.map(value -> value.toUpperCase());
}
}
快速开始
使用Spring Initializr引导您的应用程序。