美文网首页人生几何?
无服务器与传统堆栈

无服务器与传统堆栈

作者: ADADACHAN | 来源:发表于2021-09-06 10:14 被阅读0次

    为什么选择 Spring 和 Serverless?

    Spring 产品组合提供了强大的功能集合,可在无服务器应用程序中使用。无论是使用 Spring Data 访问数据,使用 Spring Integration 的企业集成模式,还是使用 Spring Framework 和 Project Reactor 的最新反应式编程,Spring 都能让开发人员从一开始就在无服务器环境中高效工作。

    Spring 还可以帮助您的函数避免供应商锁定。 Spring Cloud Function 提供的适配器允许您在其平台上运行代码时与特定于供应商的 API 解耦。


    功能即服务 (FaaS)

    事件驱动的执行。

    开发人员将所有特定于服务器的任务委托给 FaaS 平台。

    开发人员仅编写由平台调用的业务逻辑,从而随着业务需求的变化实现更具弹性的需求演变。

    传统应用

    必须维护服务器基础设施(安装、配置、打补丁、升级等)。

    基础设施的扩展方式对于工作负载来说可能不够动态(浪费资源)。

    开发人员编写集成代码来处理消息平台、HTTP 请求/响应等。

    详细:Spring Cloud 函数

    Spring Cloud Function 提供了让 Spring 开发人员能够利用无服务器或 FaaS 平台的功能。

    核心 Java 中的 java.util.function 包是 Spring Cloud Function 使用的编程模型的基础。简而言之,Spring Cloud Function 提供:

    编程风格的选择:反应式、命令式或混合式。

    函数组合和适配(例如用反应式组合命令式函数)。

    支持具有多个输入和输出的反应式函数,让函数处理合并、加入和其他复杂的流操作。

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

    特定于目标平台(例如 Project Riff、AWS Lambda 等;见下文)的部署打包函数。

    具有灵活签名的函数(POJO 函数)——“如果它看起来像一个函数,那么它就是一个函数”

    Spring 的习惯用法和编程模型的所有其他好处。

    Spring Cloud Function 提供了适配器,以便您可以在最常见的 FaaS 服务上运行您的函数,包括 Amazon Lambda、Apache OpenWhisk、Microsoft Azure 和 Project Riff。

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

    通过功能促进业务逻辑的实现。将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便相同的代码可以作为 Web 端点、流处理器或任务运行。支持跨无服务器提供商的统一编程模型,以及独立运行(本地或在 PaaS 中)的能力。在无服务器提供程序上启用 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();

      }

    }

    或者

    @Configuration

    public class GenericFunction {

    @Bean

    public Function, Map> function() {

    return m -> m.entrySet().stream().collect(Collectors.toMap(e -> e.getKey(),

                e -> e.getValue().toString().toUpperCase()));

      }

    }

    相关文章

      网友评论

        本文标题:无服务器与传统堆栈

        本文链接:https://www.haomeiwen.com/subject/burewltx.html