《五天玩转EMAS Serverless》——第一节 初识EMAS Serverless【中】

简介: 本文整理自EMAS Serverless讲师柳色在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为四个部分:1.EMAS Serverless使用场景2.EMAS Serverless产品能力 3.云函数是怎样工作的4.控制台功能演示

接上篇:

https://developer.aliyun.com/article/1224201?spm=a2c6h.13148508.setting.14.4f394f0em1x0Jq


三、 云函数是怎样工作的

image.png

接下来,讲一下EMAS Serverless云函数的工作原理。

 

如上图所示,左侧是用户操作部分。开发人员编写业务代码,把业务代码打包上传到EMAS Serverless的控制台并点击部署按钮即可。

 

小程序用户可以通过三种方式运行云函数:

 

1. 通过集成EMAS Serverless SDK调用云函数。它是一种同步调用,会把云函数的运行结果返回给用户。这是最常用的集成方式,用在小程序中和后端处理业务数据。

2. 用户也可以通过配置http触发功能,通过http请求调用云函数。

3. 开发者可以通过配置定任务时触发运行云函数。

 

当云函数运行之后会产生一个日志方便用户调试。通过日志系统,开发者可以在控制台查看日志确认函数是否运行成功。

 image.png

当EMAS Serverless收到一个运行请求要运行云函数。

 

首先系统进入系统冷启动阶段。冷启动主要包括后端调度一个实例容器,下载代码并解压以及启动实例。

 

然后当实例完成冷启动后,实例进入到运行阶段。首先会运行一个初始化函数。然后开始执index函数。当函数运行完成后进入实例释放时间。

 

如上图所示,假设在t3之前,EMAS Serverless收到了第二个请求EMAS Serverless会直接跳到执行函数阶段。

 

当第二个请求执行完成,EMAS Serverless会重新计算实例释放时间当没有新的请求进入后,这个实例会被回收。

 

此时,如果EMAS Serverless收到了第三个请求由于实例已经回收EMAS Serverless会重新进入系统冷启动阶段。

image.png

接下来,我们实战运行一个云函数。

 

首先,选中一个项目空间进入云函数控制台并新建一个云函数TwoNumberSum。

 

在本地电脑上新建文件index.js,并输入以下代码:


module.exports = async ctx => {

const x = ctx.args.x

const y = ctx.args.y

const sum = x + y

ctx.logger.info('first num: %d', x)

ctx.logger.info('second num: %d', y)

return sum

};

将该文件打包成zip文件。

image.png

进入函数开发页面,上传更新js包上传代码包,然后点击代码部署。

image.png

代码部署成功之后,在EMAS Serverless控制台,输入参数{"x": 1, "y": 2}运行云函数。

image.png

点击日志页面,即可查询函数的运行日志。

image.png

接下来,看看怎样在小程序里使用云函数。

 

打开支付宝的小程序开发工具。关键代码为serverless.function.invoke('twoNumberSum', {num1, num2})。即可完成云函数调用。invoke接收两个参数,分别是函数名字和函数入参对象。


接下篇:

https://developer.aliyun.com/article/1224193?groupCode=emas

 

相关文章
|
3天前
|
Serverless
电子好书发您分享《五天玩转EMAS Serverless》
电子好书发您分享《五天玩转EMAS Serverless》
612 2
|
3天前
|
Serverless PyTorch 文件存储
EMAS Serverless文件存储问题之上传视频真机报错如何解决
在进行Serverless应用开发和部署时,开发者可能会遇到不同类型的报错信息;本合集着重收录了Serverless环境中常见的报错问题及其解决策略,以助于开发者迅速诊断和解决问题,保证服务的连续性和可用性。
403 1
|
5月前
|
Serverless
电子好书分享您《五天玩转EMAS Serverless》
电子好书分享您《五天玩转EMAS Serverless》
113 1
|
8月前
|
存储 小程序 IDE
EMAS Serverless搭建《私人云相册》小程序
基于EMAS Serverless的云函数、云数据库、云存储等云服务能力一站式快速开发一个小程序。
194 0
EMAS Serverless搭建《私人云相册》小程序
|
9月前
|
开发框架 Serverless 文件存储
EMAS Serverless文件存储的uploadFile方法
EMAS Serverless文件存储的uploadFile方法
122 1
|
3天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
265 0
|
3天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
1063 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
3天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,在response.send()之后继续执行其它代码如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
181 0
|
3天前
|
运维 负载均衡 Java
Serverless 应用引擎产品使用之在阿里函数计算中,创建了个关于 stable diffusion 的函数服务,总是很卡如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
185 0
|
3天前
|
人工智能 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中使用自定义字体如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
165 0

热门文章

最新文章

相关产品

  • 移动研发平台