serveless服务

参考

先看这篇了解概念:聊一聊Serverless_冷月心的技术博客_51CTO博客 腾讯的文档里写的也挺好的:Serverless 应用中心-腾讯云 如果想自己搭建fass服务看这个:动手搭建ServerLess服务

开源faas

OpenFaaS(faas 仓库 20.3k)、Kubeless(6.7k)、Fission(6.4k)、OpenWhisk(5.4k)、Knative(serving 仓库 3.9k)、fnproject、OpenFunction 等

腾讯云函数使用指南

腾讯云函数使用了腾讯云的几个相关产品,这个费用方面的事情在云函数文档中没有额外做说明,如果不注意会产生不必要的费用。

云函数 在页面控制台创建和管理函数

serverless应用 这个容易混淆,serverless是腾讯的另一款cli工具,使用该工具可以在本地快速的创建部署和调试云函数,使用该工具创建云函数时会先创建一个应用,然后创建云函数, serverless创建的云函数和在网页控制台直接创建的云函数,本质没有区别,但是两者目前(2022-04-21)在文件结构上有一些出入,猜测两个团队的东西没有完全融合。

COS对象存储 这是一个坑点,很容易疏忽,使用serverless的cli工具进行函数部署时,会自动使用对象存储,部署的文件会存储到bucket桶中,而且不会自动删除,所以如果不主动删除就会有存储费用产生。。 这点官方文档一笔带过,产生了费用后,查来查去文档才发现是serverless工具的锅。

日志服务(Cloud Log Service,CLS) CFS函数产生的日志默认会投递到日志服务中,在日志主题中会有专门的一个CFS日志,如果日志量达到一定程度会产生费用,所以需要注意这一点,在 函数管理-函数配置 页面可以关闭日志投递,但是这样就会导致无法看函数日志了,因此应当控制日志量,以及在日志主题中调整日志的保留时间

总结

总结几个关键点:

serverless服务是无状态的,函数调用结束后一般情况下实例就会销毁了,因此不不能使用全局变量、内存缓存这类东西,在开发中应该时刻确保每个http请求是完全独立的。 这也正是无状态服务的优势,方便的进行伸缩扩展、负载均衡,一个http请求可以转发到任意一个server上。

Last updated