Serverless架构实战:函数计算的应用场景
Serverless不是"没有服务器",而是你不再需要关心服务器。阿里云函数计算(FC)是典型的Serverless产品:写代码、上传、配置触发器,剩下的扩容、缩容、运维全交给平台。本文分享几个函数计算的实际应用场景和最佳实践。
场景一:API后端
将函数计算配合API网关使用,可以快速构建RESTful API。每个函数处理一个接口,按请求数计费,空闲时不收费。适合中小型网站、小程序后端、内部工具API。我们一个内部数据查询API,月请求量约50万次,函数计算费用仅30元/月,如果用ECS部署至少需要200元/月。
关键配置:设置合理的超时时间(一般5-10秒)、内存大小(256MB-512MB足够)、并发度(默认单实例1个请求,可调整到200)。
场景二:事件驱动处理
OSS文件上传触发函数自动处理(图片压缩、格式转换、水印添加)。MNS/RocketMQ消息触发函数做异步处理。日志写入SLS后触发函数做实时分析。这些都是典型的事件驱动场景,函数计算天然适合。
场景三:定时任务
用函数计算替代crontab执行定时任务:每天凌晨数据汇总、每小时清理过期缓存、每5分钟检查服务健康状态。通过时间触发器配置,支持cron表达式。比在ECS上跑crontab更可靠(不会因为ECS重启丢失)。
场景四:Webhook处理
接收第三方Webhook(支付回调、CI/CD通知、GitHub事件),函数做初步校验和分发,再推送到内部消息队列。函数计算按调用次数计费,低频Webhook场景成本极低。
注意事项
函数计算有冷启动问题(首次调用或长时间未调用后,需要初始化运行环境,约200ms-2s)。对延迟敏感的场景,可以开启预留模式,保持一定数量的常驻实例。另外,函数执行时间最长10分钟(可配置),超长任务不适合用函数计算。
