名词百科

什么是 Serverless / 云开发?

一句话定义

Serverless(无服务器计算)是由平台自动分配运行资源、按实际调用计费的模式,代表形态是函数计算与云开发。开发者只写业务代码,不管理服务器。

发布者:黔序科技

它到底是什么

「无服务器」不是没有服务器,而是不需要你管理服务器:不用选配置、不用装环境、不用操心扩容缩容,平台按请求自动伸缩,没请求时缩到零。

它的计费方式随之改变:从「按机器时长」变成「按调用次数与执行时长」。低负载场景成本极低,持续高负载时反而可能比租服务器贵。

怎么运作的

函数计算:上传代码,由事件触发(HTTP 请求、定时任务、消息),平台拉起实例执行,执行完释放。

云开发:把数据库、存储、鉴权、函数打包提供,适合小程序与轻量应用快速上线。

冷启动:长时间无请求后实例被回收,下一次请求需要重新初始化,产生额外延迟。对延迟敏感的场景需要用预留实例或常驻方案。

限制:执行时长上限、内存上限、并发上限、依赖包体积上限。这些限制决定了它不适合长任务与重计算。

容易混的几个概念

  • PaaS:托管运行环境,仍以服务常驻的方式运行。
  • 容器:更通用的打包方式,需要自己管编排。
  • FaaS:函数即服务,Serverless 的主要形态。
  • BaaS:后端能力即服务,常与 FaaS 组合。

常见问题

Serverless 会锁定厂商吗?

会。函数入口、事件格式、鉴权、数据库访问方式都带厂商特征,迁移通常要改代码。若在意可迁移性,应把业务逻辑与平台接口隔离。

什么场景适合用 Serverless?

流量波动大、有大量空闲时段的场景:活动页、定时任务、Webhook 接收、图片处理。持续高负载的核心服务,用常驻服务更可控。

E 后端架构 · 同组词条

容器化容器化是把应用及其依赖打包成可移植的镜像,在隔离环境中运行的技术,Docker 是代表性工具;K8s(Kubernetes)是管理大量容器的编排平台,负责调度、扩缩容与自愈。分布式分布式是把一个系统拆到多台机器上协同工作,以突破单机容量上限;集群是多台机器运行同一套服务,对外表现为一个整体。分布式强调分工,集群强调冗余。云服务器云服务器是可按需租用的虚拟计算资源;域名是网站的访问地址;带宽决定单位时间内能传输的数据量。三者构成网站运行的基础资源。定时任务定时任务是按预设时间自动执行的程序,用于对账、报表、清理、同步等周期性工作;日志是程序运行时产生的记录,用于排查问题、审计与监控。负载均衡负载均衡是把请求分发到多台服务器的机制,用于提升处理能力与可用性;CDN 是把静态资源缓存到离用户更近的节点,用于缩短访问延迟。两者都在分散压力,但层级不同。系统集成系统集成是把多个独立系统连接起来协同工作的过程,核心是接口对接与数据互通。它解决的是「各系统都各自能用,但数据不通」的问题。高并发高并发指系统在同一时间承受大量请求的能力,通常用每秒请求数、并发连接数、响应时间来衡量。它考验的是系统在压力下的稳定性,而不是单次请求的速度。多租户多租户架构是一套系统同时服务多个客户(租户),各租户的数据相互隔离、配置互不影响。它是 SaaS 能把成本压低的根本原因。