本文带大家来了解一下云函数的冷热启动过程,以及面对云函数这种冷热启动模式,开发者需要注意哪些问题。
本文来自 Serverless 社区用户「乂乂又又」投稿
效果展示
云函数被第一次调用(冷启动)
云函数被多次连续调用(热启动)
云函数的冷、热启动模式
先跟大家讲下这里的云函数冷热启动模式是什么意思。
- 冷启动是指你在服务器中新开辟一块空间供一个函数实例运行,这个过程有点像你把这个函数放到虚拟机里去运行,每次运行前都要先启动虚拟机加载这个函数,这是比较耗时的一个过程,所以云函数需要尽量减少自身冷启动的次数。
- 热启动则是说如果一个云函数被持续触发,那我就先不释放这个云函数实例,下次请求仍然由之前已经创建了的云函数实例来运行,就好比我们打开虚拟机运行完这个函数之后没有关闭虚拟机,而是让它待机,等待下一次被重新触发调用运行,这样做的好处就是省去了给虚拟机「开机」的一个耗时环节,缺点是要一直维持这个虚拟机的激活状态,系统开销会大一些。
当然这里的云函数资源分配的问题并不需要我们操心,云函数的底层会通过算法自行调配。
在腾讯云云函数文档里的简介 里有这么一段描述:
腾讯云云函数是腾讯云提供的 Serverless 执行环境。您只需编写简单的、目的单一的云函数即可将它与您的腾讯云基础设施及其他云服务产生的事件关联。 使用云函数时,您只需使用平台支持的语言(Python、Node.js、PHP、Golang 及 Java)编写代码。腾讯云将完全管理底层计算资源,包括服务器 CP