无服务器与传统架构
函数即服务 (FaaS)
- 事件驱动执行。
- 开发人员将所有服务器特定任务委托给 FaaS 平台。
- 开发人员只编写由平台调用的业务逻辑,允许在业务需求变化时更灵活地调整需求。
传统应用程序
- 必须维护服务器基础设施(安装、配置、修补、升级等)。
- 基础设施的扩展方式可能不足以满足工作负载的动态需求(浪费资源)。
- 开发人员编写集成代码来处理消息平台、HTTP 请求/响应等。
Spring 产品组合提供了大量功能,可用于无服务器应用程序中。无论使用Spring Data访问数据,使用Spring Integration使用企业集成模式,还是使用Spring Framework和Project Reactor使用最新的响应式编程,Spring 都能让开发人员从第一天起就在无服务器环境中高效工作。
Spring 还可帮助您的函数避免厂商锁定。Spring Cloud Function 提供的适配器让您在他们的平台上运行代码时,可以与特定于厂商的 API 脱钩。
Spring Cloud Function 提供的功能使 Spring 开发人员能够利用无服务器或 FaaS 平台。
来自核心 Java 的java.util.function
包是 Spring Cloud Function 使用的编程模型的基础。简而言之,Spring Cloud Function 提供:
Spring Cloud Function 提供适配器,以便您可以在最常见的 FaaS 服务上运行函数,包括Amazon Lambda、Apache OpenWhisk、Microsoft Azure和Project Riff。