2.2.2 逻辑架构

基于华为元戎的概念模型,其逻辑架构设计如图2-2所示。

图2-2 华为元戎的逻辑架构

华为元戎的逻辑架构主要包括“编程模型”“函数系统”“BaaS框架”三部分,下面分别介绍各部分的职责。

“编程模型”为开发者提供函数编程接口,其特点是,引入内置状态管理,实现有状态的函数编程模型及Service内的函数间直接调用来处理状态,从而使开发者在不依赖外部存储和不感知并发编程难度的低门槛下开发有状态类型的应用。为了支持更复杂的服务组合及编排,并且考虑到兼容现有的应用生态,华为元戎也提供了Workflow。后面的章节会具体讲解,运用有状态函数可以实现大部分函数的编排工作。

“函数系统”为函数的开发、运行和管理提供平台、组件和工具,其按照功能划分为如下几个部分。

• 开发面:开发者可以基于平台提供的SDK、CLI、Web IDE、函数拆分和优化工具等,实现并创建函数,平台会保存函数及其相关元数据。

• 管理面:管理函数及状态的生命周期,进行智能调度、弹性伸缩、性能优化等。

• 运行面:提供函数的统一请求入口,将请求转化为对函数实例的调用,并且返回处理的结果。

“BaaS框架”为函数系统高效对接各类事件源和后端BaaS各种服务/中间件提供Event Bridge和Service Bridge两大组件,其中Event Bridge为各类服务事件触发函数提供便利,Service Bridge则为函数访问BaaS服务提供统一的标准能力,解耦和屏蔽后端复杂性。

基于上述架构,华为元戎的功能特性如表2-1所示。

表2-1 华为元戎的功能特性