无服务器与传统堆栈
功能即服务 (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)上运行您的函数。