什么是无服务器?
**无服务器(Serverless)**是一种构建和运行应用的方式,由云提供商管理服务器并分配执行资源。开发团队专注于代码、服务配置和业务逻辑,而不是安装和维护服务器。
服务器仍然存在,只是由提供商运营。常见方式是使用函数:由请求或事件触发执行的代码。除了函数,提供商也提供遵循无服务器模式的数据库和存储服务。
基于函数的应用由什么构成?
- 触发器: HTTP 请求、定时计划,或新上传图片等事件。
**无服务器(Serverless)**是一种构建和运行应用的方式,由云提供商管理服务器并分配执行资源。开发团队专注于代码、服务配置和业务逻辑,而不是安装和维护服务器。
服务器仍然存在,只是由提供商运营。常见方式是使用函数:由请求或事件触发执行的代码。除了函数,提供商也提供遵循无服务器模式的数据库和存储服务。
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠用户将图片上传到存储后,图片创建事件触发一个函数。函数读取原图、创建较小的版本,并将结果保存在另一个位置。处理完成后,应用显示缩略图。
许多用户同时上传图片时,平台可以在配置的限制内并发运行更多函数。开发团队不必每遇到一次上传高峰,就启动更多服务器。
如果事件再次投递,函数必须能够处理它而不生成重复结果。例如,每张原图有唯一标识,其缩略图始终写入同一个对应位置。这就是幂等性:重复同一请求仍保持相同的业务结果。
无服务器函数适合图片处理、来自其他系统的通知、定时任务,以及流量变化较大的 API。如果任务必须长时间连续运行,或需要非常稳定的延迟,应仔细权衡,因为限制和定价取决于所选服务。