AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Lambda 中的弹性

AWS 全球基础设施围绕 AWS 区域和可用区构建。AWS 区域提供多个在物理上独立且隔离的可用区,这些可用区通过延迟低、吞吐量高且冗余性高的网络连接在一起。利用可用区,您可以设计和操作在可用区之间无中断地自动实现故障转移的应用程序和数据库。与传统的单个或多个数据中心基础设施相比,可用区具有更高的可用性、容错性和可扩展性。

有关 AWS 区域和可用区的更多信息,请参阅 AWS 全球基础设施

除了 AWS 全球基础设施之外,Lambda 还提供了多种功能,以帮助支持您的数据弹性和备份需求。

  • 版本控制 – 您可以在 Lambda 中使用版本控制,以便在开发时保存函数的代码和配置。与别名相配合,您可以使用版本控制来执行蓝/绿和滚动部署。有关详细信息,请参阅AWS Lambda 函数版本

  • 扩展 – 当您的函数在处理请求时收到新的请求,Lambda 会启动一个新的函数实例来处理增加的负载。Lambda 自动扩展以处理每个区域的 1,000 个并发执行(可根据需要提高该限制)。有关详细信息,请参阅 AWS Lambda 函数扩展

  • 高可用性 – Lambda 在多个可用区中运行您的函数,以确保在单一区域中服务中断时能够处理事件。如果将函数配置为连接到账户中的 Virtual Private Cloud (VPC),请在多个可用区中指定子网以确保高可用性。有关详细信息,请参阅配置 Lambda 函数以访问 VPC 中的资源

  • 预留并发 – 要确保您的函数能够始终扩展以处理更多请求,您可以为其预留并发。为函数设置预留并发可确保其能够扩展(但不超出)指定数量的并发调用。这可确保您不会因为其他函数使用了所有可用的并发而丢失请求。有关详细信息,请参阅 Lambda 函数的预留并发

  • 重试 – 对于异步调用和由其他服务触发的调用子集,Lambda 会在遇到错误时自动重试(重试之间有延迟)。同步调用函数的其他客户端和 AWS 服务负责执行重试。有关详细信息,请参阅 AWS Lambda 中的错误处理和自动重试

  • 死信队列 – 对于异步调用,如果所有重试都失败,您可以配置 Lambda 将请求发送到死信队列。死信队列是 Amazon SNS 主题或 Amazon SQS 队列,它接收事件以进行故障排除或重新处理。有关详细信息,请参阅 AWS Lambda 函数死信队列