检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2 requestPath配置 测试独立函数。 统一使用POST请求。 请求url为添加事件源创建的APIG触发器地址。
图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。 图2 请求路径 父主题: MFA微服务serverless化
准备 该场景涉及微服务与后端服务的调用,因此需要提前准备好对应的后端服务。用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。 创建Java函数(
图解函数工作流服务
将FunctionGraph资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服务可以根据权限进行代运维。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用FunctionGraph服务的其它功能。 本章节为您介绍对用户授权的方法,操作流程如图1所示。
使用FunctionGraph是否需要开通计算、存储、网络等服务? 用户使用FunctionGraph时,不需要开通或者预配置计算、存储、网络等服务,由FunctionGraph提供和管理底层计算资源,包括服务器CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡
创建委托 登录统一身份认证服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“+创建委托”。 图1 创建委托 开始配置委托。 委托名称:输入您自定义的委托名称,此处以“EcsOperation”为例。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。
CTS: "云审计服务触发器。" DDS: "文档数据库服务触发器。" DMS: "分布式服务触发器。" DIS: "数据接入服务触发器。" LTS: "云日志服务触发器。" OBS: "对象存储触发器。" SMN: "消息通知服务触发器。" KAFKA: "专享版消息通知服务触发器。"
"subscription_status":"string" } SMN触发器数据说明如表3所示。 表3 SMN触发器数据说明 字段名称 字段说明 topic_urn SMN服务的topic_urn,创建时必填。 subscription_status topic_urn的订阅状态:Unconfirmed / Confirmed。
函数调用绑定在APIG的域名的服务,报域名无法解析? 函数服务目前只能解析pod域的域名或者在华为dns服务购买的域名。 父主题: 通用问题
使用EventGrid触发器(云服务事件源) EG触发器当前仅支持华北-北京四、华北-乌兰察布一、华东-上海一、华东-上海二、华南-广州、亚太-新加坡、拉美-墨西哥城二。 创建EventGrid触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。
配置函数流的函数服务组件 准备 已经在FunctionGraph控制台创建函数(运行时语言使用Python 3.9,代码及功能介绍如下所示),如何创建请参见创建空白函数。 函数功能:函数执行返回result的值为函数调用事件内的input输入值 import json def handler
配置函数流的服务控制器组件 函数流的服务控制器组件支持两种执行模式:串行模式和并行模式。 准备 已经在FunctionGraph控制台创建函数1、函数2、函数3和函数4(运行时语言都使用Python 3.9,代码及功能介绍如下所示),如何创建请参见创建空白函数。 函数1功能:函数
在当前工作目录中从GitHub URL安装服务,如下: serverless install --url https://github.com/some/service 选项 --url或-u:GitHub的服务URL,必填。 --name或-n:服务名称。 示例 从GitHub URL安装服务 serverless
使用IAM子账号登录、使用函数工作流服务,对函数和函数下的触发器进行增删改查,如果出现权限不足情况,需要主账号对IAM子账号所属的用户组设置相应的权限。同时,若您想通过函数调用其他云服务,如OBS服务时,需要您配置委托并根据实际业务需求配置服务相关权限。为保障服务的安全,请您按照最小权限原则配置权限,详情请参考权限说明。
使用ECS作为NFS服务器实现多用户资源隔离 使用ECS作为NFS服务器实现多用户资源隔离 FunctionGraph的函数实例除了支持挂载SFS弹性文件系统外,也支持挂载ECS服务器共享出来的NFS共享路径,使用ECS更便于进行多租户的资源管理。 购买ECS服务器,其中以下几点需要注意:
WebUI应用需要FunctionGraph服务与其他云服务协同工作,因此需要通过配置委托给FunctionGraph授权必要的云服务资源的操作权限,且委托授权的生效需要15-30分钟才能生效,所以强烈建议您提前创建委托。 登录统一身份认证服务控制台,左侧导航栏选择“委托”,进入“委托”页面后,右上角单击“创建委托”。
信息 serverless info命令显示有关已部署服务的信息,在您的服务目录中运行此命令。 serverless info 父主题: CLI参考
serverless deploy命令通过华为云API部署整个服务。当您编辑serverless.yml文件更改了服务时,请运行此命令。 serverless deploy 产物 执行serverless deploy命令后,所有创建的部署产物都将放置在服务的.serverless目录。 父主题: CLI参考