AWS Lambda最佳实践
在工作中有很多功能使用AWS Lambda提供服务,这里介绍Lamabda使用中积累的一些经验
在工作中有很多功能使用AWS Lambda提供服务,这里介绍Lamabda使用过程中积累的一些经验。
什么是AWS Lambda?
AWS Lambda 是一项计算服务,使用时无需预配置或管理服务器即可运行代码。AWS Lambda只需为使用的计算时间付费,在代码未运行期间不产生任何费用。借助 AWS Lambda,几乎可以为任何类型的应用程序或后端服务运行代码,而且无需执行任何管理。现在 AWS Lambda 支持Node.js、TypeScript、Ruby、Java、Go、C#、Python和PowerShell。
应用场景
- 需要隔离资源的场景。Lambda每次执行都有自身的执行环境,相互之间不影响。所以一些资源消耗较大的服务我更倾向使用Lambda。
- 需要动态伸缩的场景。Lambda按需服务,如果没有执行,不收取费用。所以流量不均衡的服务,我也倾向使用Lambda。这样即使流量突增,也不需要额外增加服务器,流量较少也不用去减少服务器。
容器映像
大概是从2021年开始,Lambda支持了容器映像的部署方式。相比传统部署方式,容器映像有以下优点:
- 容器映像部署方式安装环境依赖比程序包部署方式安装依赖更加方便。
- 程序包只支持最大250M解压代码,而容器映像支持最大10G。
- 调试更加简单,可以本地启动容器,调用接口调试。
函数别名
别名是Lambda中一个很重要的功能。在项目中,我们往往需要区分开发环境、测试环境和生产环境。如果为不同环境创建不同的Lambda函数,会导致创建一大堆函数。别名很好的解决了这个问题,我们可以在不同的环境(开发、测试、生产)中调用同一个Lambda函数的不同函数别名来区分执行环境,而且函数别名还可以使用不同版本的映像。
最后修改于 2022-09-24
此篇文章的评论功能已经停用。