检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数工作流冷启动优化实践 Serverless按需付费、自动弹性伸缩、屏蔽复杂性等特征使其逐渐成为下一代云计算新范式。但是在Serverless架构带来极大便利的同时,在实时性要求较高的应用场景下,冷启动将是面临的一个切实的挑战。当使用Serverless构建Web服务时,冷启动
X-Cff-Request-Id String 本次同步调用请求id。 X-Cff-Function-Log String 本次同步调用用户日志,需在请求头中设置X-Cff-Log-Type:tail。截取日志的后2000个字节并且做base编码。 X-CFF-Billing-Duration String
code_size 函数大小,单位:字节。 user_data 用户自定义的name/value信息,在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 digest 函数代码SHA512 hash值,用于判断函数是否变化。
函数流组件配置说明 配置函数流的EG服务组件 配置函数流的函数服务组件 配置函数流的子流程控制器组件 配置函数流的并行分支控制器组件 配置函数流的开始控制器组件 配置函数流的异常处理控制器组件 配置函数流的循环控制器组件 配置函数流的时间等待控制器组件 配置函数流的服务控制器组件
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。
CTS支持的FunctionGraph操作列表 云审计支持的FunctionGraph操作列表如表1所示。 表1 云审计服务支持的FunctionGraph操作列表 操作名称 资源类型 事件名称 创建函数 Functions createFunction 删除函数 Functions
函数Trigger Management触发器模型 介绍Trigger Management触发器模型的返回字段。 触发器类型模型 { "trigger_type_code":"string", "display_name":"string", "status":"string"
产品功能 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8
函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户
deploy trigger命令 deploy trigger命令,是部署函数触发器的命令。 当执行命令deploy trigger -h/deploy trigger --help时,可以获取帮助文档。 操作案例 有资源描述文件(Yaml)时,可以直接执行s deploy tr
权限及授权项说明 如果您需要对您所拥有的FunctionGraph进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果公有云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使
函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。
日志告警 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "statusCode":
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
删除触发器 功能介绍 删除触发器。 调用方法 请参见如何调用API。 URI DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} 表1 路径参数 参数 是否必选 参数类型
注册OpenTelemetry API http://${EXTENSION_API_ADDR}/telemetry 您可以通过 EXTENSION_API_ADDR 环境变量得到平台开放的提供注册的API地址,例如对于Python,EXTENSION_API_ADDR的获取方式为os
与其他服务的关系 FunctionGraph服务与以下云服务的对接,实现相关功能,如表1所示。 表1 对接服务 服务名称 实现功能 消息通知服务(SMN) 构建FunctionGraph函数来处理SMN的通知,相关内容请参考消息通知服务用户指南。 API网关(API Gateway)
基本概念 函数 函数是处理事件的自定义代码。 事件源 事件源是发布事件的公有云服务或自定义应用程序。 同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务
示例3:上传代码到OBS桶,并使用OBS链接创建函数 场景描述 本章节以Python 2.7为例,指导您在本地编码,然后将代码文件上传到OBS桶,实现通过OBS链接创建函数。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中创建OBS桶。 总体思路 在本地进行函
在线调试函数 注意事项 事件数据作为event参数传入入口函数,配置后保存可以持久化,以便下次测试使用。每个函数最多可配置10个测试事件。 有关函数在线调试测试事件的操作,您可以参见使用空白模板创建函数指导视频中调试测试事件的介绍。 创建测试事件 登录FunctionGraph控制台,在左侧导航栏选择“函数