Faas计算框架spring-cloud-function

之前讲到过无服务器Serverless的一些概念和优势,即通过依赖特定环境降低运维成本和复杂度。CNCF(Cloud Native Computing Foundation),即云原生计算基金会于2018年2月14号发布了serverless技术白皮书 v1.0版,从概念,最佳实践和成功案例等方面对serverless框架做了详细说明,并对serverless与IaaS,PaaS,CaaS的区别做了综合分析。Faas算是Serverless的一种,其中文对应翻译也有叫函数计算,云函数,无服务器计算等称呼,为统一概念,本文中统一叫做Faas。

Faas如何落地,本节结合开源框架Spring Cloud Function讲述Faas的实现原理。 Spring Cloud Function是基于 Spring Boot 的函数计算框架,它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。

借用官网对框架的介绍,Spring Cloud Function是一个具有以下高级目标的项目:

  • 通过功能促进业务逻辑的实现
  • 将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便相同的代码可以作为Web端点, 流处理器或任务运行
  • 支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力
  • 在无服务器提供商上启用Spring Boot功能(自动配置,依赖注入,指标)

这个项目的核心是推动基于函数的编程模型,而不是 Spring 之前更为大家所熟悉的对象模型。相信熟悉Java的朋友都知道,在JDK1.8里官方新增了函数式接口,将函数作为参数传递。函数式编程的思想是先不去考虑具体的行为,而是先去考虑参数,再考虑编写处理逻辑的Function,将逻辑和数据分离,而Function可以复用,这样可以大大提高代码的复用度,同时使代码更加简洁。借用官网的函数案例,将名称转换为大写的函数,函数逻辑很简单。

Faas计算框架spring-cloud-function

函数定义

回到文章主题Faas,如何将函数注入到Faas平台,然后实时生效且可调用?下一章我们继续深入Faas平台内部原理,继续讲解。


分享到:


相關文章: