亚马逊云科技概要介绍了某客户如何将 Lambda 函数扩展至 100 万个 文章

InfoQ 中文2026-07-20BLOGzh作者: 作者:Matt Foster

详细信息

来源站点
InfoQ 中文
作者
作者:Matt Foster
文章类型
BLOG
语言
zh
发布日期
2026-07-20

摘要

亚马逊云科技概要介绍"了工业可穿戴设备制造商 ProGlove 如何扩展其 SaaS 平台,以运行分布在数千个专属客户账户中的超过 100 万个 AWS Lambda 函数。在亚马逊云科技架构博客的一篇文章中,该团队将其成功归功于“每个租户一个账户”的模式、借助 CloudFormation StackSets 实现的广泛自动化,以及激进的“缩减至零”策略(可以将闲置成本控制在每个账户每个月 1 美元以下)。ProGlove 选择将每位客户隔离在各自的 AWS 账户中,以额外的运维开销为代价换取更强的安全边界、独立的服务配额,以及清晰的按客户分摊成本的机制。亚马逊云科技指出,当平台账户数量超过 50 个后,这一决策导致了运维摩擦。每个客户账户内包含若干微服务,通常是 5 到 15 个 Lambda 函数,由 Step Functions 状态机进行协调。该状态机负责采集扫描器读数,将其持久化到 Amazon DynamoDB 中,并将业务事件发布到共享的 Amazon EventBridge 总线,供 ProGlove 的分析平台消费。手动配置不仅拖慢了发布速度,还暴露了服务配额上限的问题。因此,工程师们将 AWS Organizations、Step Functions 和 CloudFormation StackSets 整合为一个工作流,通过单个管道创建和更新每个账户。该团队表示,与亚马逊云科技服务工程师的合作提升了 StackSet 的吞吐量,使得该机制能够将变更同步到数千个账户中,其中合计托管着超过一百万个 Lambda 函数。图片来源:亚马逊云科技亚马逊云科技报告称,配额并非唯一的扩展挑战。早期 cron 风格的调度会在所有账户中于同一时间触发同一函数,这会引发工程师们所描述的“自酿” DDoS 攻击。他们用抖动执行窗口和事件驱动的触发器取代了僵化的定时器,从而平滑了各区域的负载,而且不需要依赖预留并发数或预配置容量。可观测性成本也呈现出类似的走势。每个 Lambda 函数都会生成日志和指标;乘以数千个账户后,由此产生的体量几乎占据了账单的绝大部分。ProGlove 将高优先级的故障整合到了一个中央死信队列中,并删除了未使用的 Amazon SQS 队列。根据博文所述,这些变更将每个账户的闲置支出降到了 1 美元以下。其他地方也出现了类似的运维问题。

相关事件

暂无数据

相关公司查看全部 (2)

A
AWSCOMPANY
P
ProGloveCOMPANY

相关人物

暂无数据