课时4:函数的开发与配置(三)

本文涉及的产品
简介: 函数的开发与配置

Serverless AI训练营:课时4:函数的开发与配置(三)

课程地址:https://developer.aliyun.com/trainingcamp/1eeaedf056f14ad98e9986c31068e939?spm=a2c6h.26142516.J_2566289780.1.37c67cbd7bCsFs

课时4:函数的开发与配置(三)

函数名称设置成 hello word,环境也是知识的运行环境,函数入口就是函数计算从哪里开始执行这一代码呢?函数的执行内存超时时间,单实例并发度发布是这样。

image.png

函数计算是在实例里面执行,这个实例默认情况下是同时只能执行一个请求的。如果有更多请求的话则会调度更多的实例来进行更多的请求,但是有的时候是 L密集型这些场景一个实例执行一个请求就会浪费,所以用户可以选择一个实例,同时可以并发多少请求是可指定的。

函数创建完成后会有一个默认的代码,左边是文件数,右边是代码其实就是一个Hello wordCallback 是在 js 里面,主动掉了 callback 之后函数计算就认为这个函数已经执行完成了,就可以将这个实例来进行冻结,等待接受下一次请求。

这就可以看到当前的结果以及一些日志,也可以在刚才配置的 Log Store 中。简单查询就是 request ID,可以把它的日志展示出来。高级查询就是把查询的页面展示出来,可以查到这个 Log Store 下所有的日志。

现在认为假如代码就在 Latest 当前版本上面已经开发完成了,就可以上线了,第一次上线的就是 hello world 这么一个应用,上线要发布一个版本,在其下创建一个别名,版本是服务级别的,发布了这个版本之后,这个服务下面所有的函数都会跟着发一个版本。要发布一个版本 hello word First Version。这个版本的ID是版本1,它的描述中刚才写的,对此可以先来试一下是否可以触发指定版本的函数,再把函数选择版本1。在发布的版本之后,代码是不能编辑的,只有 Latest版本可以编写。这个代码是可以被执行的。然后发布就行了。

接下来创建一个别名,指向刚才发布的这个版本,新建编名线上版本的主版本和灰度版本,主版本就是百分百流量都在这里,灰度版本就是切多少流量到其他版本上,所以就只有主版本,百分之百的流量都到版本上进行确定。

接下来就可以通过别人来访问用户,可以通过别人来访问开发的应用了。然后就需要开发,就是产品经理有了新的需求要开发迭代,就在 Latest 版本上面开发。最新的版本都要改成new world,就应该换一个版本2。这里不需要新建一个别名了,只要将刚才的别名指向版本2就可以。

版本全部进行比较危险,所以把新版本灰度50%的流量,其实只有10%就可以只是怕演示的过程中不容易将流量打到新的版本上,所以是一个比较明显的50%。现在的请求应该是有一半的概率触发版本1,一半的概率来执行版本2的,就是一半的概率是输出hello word,一半的概率输出 new word

 

 image.png

选择别名之后是看不到代码的,别名下是没有任何资源的,它只是一个指针但是可以来执行它。然后指向了版本二,执行了版本二的代码,大概是一个50%的比例,所以在这里搭建了一个简单的应用,就是hello word 的应用,并且模拟了这个应用的更新迭代以及新版本的发布和上线,在有新的版本发布的时候只需要在函数计算这里发布版本,并且将别名指向最新的版本,就可以完成一次应用的升级了。

代码如下:

'use strict';
/*
To enable the initializer feature
(https://help.aliyun.com/document_detail/156876.html) please implement the initializer function as below: exports.initializer=(context,callback)=>{ 
console.log('initializing');
 callback(null,'');};*/
exports.handler=(event,context,callback)=> {    
console.log('hello world');    
callback(null, "hello world');  
}

五、课程总结

今天介绍了函数计算的基本配置,包括服务和服务配置,函数和函数配置,触发器,版本和版本配置还有别名,并且带领大家一同搭建了一个简易的函数计算应用,课程进行到这里。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
7月前
|
人工智能 运维 监控
|
9月前
|
Java 调度 Spring
写项目常用的三个功能(课时二十五)
写项目常用的三个功能(课时二十五)
35 0
|
6月前
|
存储 安全 编译器
C++:入门学习C++,它在C的基础上做了哪些修改?
C++:入门学习C++,它在C的基础上做了哪些修改?
|
7月前
|
监控 Serverless 文件存储
课时4:函数的开发与配置
课时4:函数的开发与配置
187 1
|
7月前
|
存储 Serverless 文件存储
|
7月前
|
监控 Serverless 测试技术
|
7月前
|
人工智能 Serverless 开发工具
课时5:函数的调试与部署
函数的调试与部署
170 0
|
7月前
|
Serverless API 调度
课时2:函数计算是如何工作的?
函数计算是如何工作的
212 0
|
9月前
|
前端开发 Java
CRUP(课时十七)
CRUP(课时十七)
39 0
|
9月前
|
BI 定位技术 Python
SWMM从入门到实践教程 04 快速入门案例的模拟执行
在左侧双击Options中的Dates,即可弹出时间的设置。此处为了教学,建议仅模拟6个小时,加快结果的生成。实际项目中,可以根据需求对指定场次的降雨时常进行模拟,并注意这个时常一定不低于降雨时常(我们的雨量计设置了2小时降雨,所有66个小时的模拟也是合理的)。

热门文章

最新文章