Serverless
中级通用
Serverless 是把服务端代码交给云平台按请求或事件运行的部署方式,你仍然在用服务器,但通常不必自己维护常驻进程。它解决了流量起伏时自己扩容和管理机器的麻烦,例如处理网站表单提交。
你可能会说:「我想让网站表单提交后自动处理数据,访问量不固定,也不想自己管服务器。」
动手看看网站表单提交如何处理
1
访客提交网站表单,请求先到云平台;开发者只需部署处理代码,不用让它一直运行着等请求。
要点把后端交给 Serverless 后,哪些事还归你管?
- 1
代码按请求或事件运行
你可以把表单提交写成一个处理函数:请求来了,平台就运行它并返回结果。平台负责提供运行环境,但函数里怎么校验数据、处理错误,仍然由我们决定。
- 2
实例可能随时被替换
别把用户登录状态或待处理订单只放在函数的内存里,因为下一次请求可能落到另一个实例。需要保留的数据,我们通常放进数据库或对象存储。
- 3
少管机器不等于少管故障
平台通常会处理启动和扩容,但你仍要关注超时、调用次数、外部服务故障和费用。出了问题,先看服务端日志,再确认是哪次请求或事件失败。
容易混淆的地方
Serverless 不等于“没有服务器”,而是运行环境主要由平台管理;它也不等于网站托管:静态页面可以只托管文件,表单处理这类服务端逻辑才需要运行代码。和自己维护单实例服务相比,你少管进程和扩容,但也要接受平台的运行限制。
什么时候用
适合用
- 网站表单提交后要校验内容、写入数据库,平时请求少,活动期间可能突然增多。
- 图片上传完成后要生成缩略图,可以由上传事件触发处理代码。
- AI 工具需要一个后端接口代为调用模型服务,流量不稳定,想先减少服务器运维工作。
不适合用
- 只是展示作品集页面,没有服务端计算或数据处理,用静态网站托管就够了。
- 服务需要长期维持连接,并依赖进程内持续运行的任务,可先考虑常驻服务部署。
- 已有一台稳定运行的服务器,任务只是每天生成一次报表,用现有服务器的定时任务可能更直接。
练一练选一个答案,看看解释
你在做一个活动网站:平时几乎没人提交报名表,发布后可能短时涌入大量请求,提交内容要写入数据库。你会怎么安排后端?
让 AI 帮你做复制给 AI Agent 直接用
请把报名表提交接口设计为 Serverless 函数:校验输入后写入数据库,不依赖函数内存保存状态。列出所需环境变量、超时与错误处理方式,并说明部署后怎样查日志和验证提交结果。