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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.rizon.top/zhuan-ti/serveless-fu-wu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
