> For the complete documentation index, see [llms.txt](https://book.rizon.top/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.rizon.top/zhuan-ti/serveless-fu-wu.md).

# serveless服务

## 参考

先看这篇了解概念：[聊一聊Serverless\_冷月心的技术博客\_51CTO博客](https://blog.51cto.com/lengyuexin/3008718) 腾讯的文档里写的也挺好的：[Serverless 应用中心-腾讯云](https://cloud.tencent.com/product/sls) 如果想自己搭建fass服务看这个：[动手搭建ServerLess服务](https://zhuanlan.zhihu.com/p/413246974)

## 开源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上。
