这里提到的技术特点的对象,特指 Serverless 产品中的计算产品,也就是云函数。云函数包含了如下的技术特性:
- 事件驱动 云函数的运行,是由事件驱动起来的,在有事件到来时,云函数会启动运行 Serverless 应用不会类似于原有的「监听 - 处理」类型的应用一直在线,而是按需启动 事件的定义可以很丰富,一次 http 请求,一个文件上传,一次数据库条目修改,一条消息发送,都可以定义为事件 2. 单事件处理 云函数由事件触发,而触发启动的一个云函数实例,一次仅处理一个事件 无需在代码内考虑高并发高可靠性,代码可以专注于业务,开发更简单 通过云函数实例的高并发能力,实现业务高并发
- 自动弹性伸缩 由于云函数事件驱动及单事件处理的特性,云函数通过自动的伸缩来支持业务的高并发 针对业务的实际事件或请求数,云函数自动弹性合适的处理实例来承载实际业务量 在没有事件或请求时,无实例运行,不占用资源 4. 无状态开发 云函数运行时根据业务弹性,可能伸缩到 0,无法在运行环境中保存状态数据 分布式应用开发中,均需要保持应用的无状态,以便于水平伸缩 可以利用外部服务、产品,例如数据库或缓存,实现状态数据的保存