项目描述
翻译选择这种方法的主要原因是经济性和可扩展性。流量不可预测且突发:安静几个小时,然后突然激增。我们希望后端在没有人使用时扩展到零,我们只为实际调用和消耗的资源付费,并且在负载下自动扩展,而无需我们的参与。冷启动需要保持在合理的限制内:适当的内存大小、轻量级依赖项和仅在关键路径真正需要的地方提供并发。DynamoDB的访问模式需要提前设计,而不是后期添加——这个决定决定了大部分性能和成本。
一切都应该作为基础设施即代码可重现——Terraform或您选择的AWS SAM/CDK,但不允许在控制台中手动点击。我们需要从相同模板中启动独立的开发、预发布和生产环境,为每个函数分配最小权限的IAM角色,结构化日志记录和追踪(CloudWatch、X-Ray),错误和限流的警报,以及一个在合并时部署的CI/CD管道。请包括:
— 带有输入验证和清晰错误响应的API Gateway和Lambda处理程序;
— DynamoDB设计(单表或多表)及其文档化的访问模式;
— 用于后台任务的EventBridge/SQS、重试和死信队列;
— 完整的基础设施即代码、环境分离和有效的部署管道。