函数工作流是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。
函数管理
提供控制台管理函数。
函数支持Node.js、Java、Python、Go、C#等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。
表1运行时语言说明
函数支持多种代码导入方式
支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等方式。不同运行时支持的代码上传方式如表2所示。
表2代码上传方式说明
触发器
函数支持 SMN 、APIG和OBS等多种类型触发器。触发器调用方式如表3所示。
表3函数触发方式说明
日志和监控
提供调用函数的监控指标和运行日志的采集和展示,实时的图形化监控指标展示,在线查询日志,方便用户查看函数运行状态和定位问题。
日志的查询过程请参考查询日志。
单个监控指标请参考监控函数。
租户函数监控指标请参考总览。
初始化功能
引入initializer接口:
分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。
用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。
在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更精准的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。