跳到主要内容

介绍

DeepSeek V3 中英对照 Introduction

Spring Cloud Function 是一个具有以下高层次目标的项目:

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

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

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

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

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

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

@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);
}
}
java

这只是一个 Spring Boot 应用程序,因此它可以像其他任何 Spring Boot 应用程序一样在本地和 CI 构建中进行构建、运行和测试。Function 来自 java.util,而 Flux 是来自 Project ReactorReactive Streams Publisher。该函数可以通过 HTTP 或消息传递进行访问。

Spring Cloud Function 具有以下功能:

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

  • 函数组合与适配(例如,将命令式函数与响应式函数组合)。

  • 支持具有多个输入和输出的响应式函数,允许通过函数处理合并、连接和其他复杂的流操作。

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

  • 针对目标平台(例如 Project Riff、AWS Lambda 等)的部署函数打包。

  • 适配器将函数作为 HTTP 端点等方式暴露给外部。

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

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