

# AWS Lambda 中的故障恢复能力
<a name="security-resilience"></a>

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

有关 AWS 区域和可用区的更多信息，请参阅 [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。

除了AWS全球基础设施之外，Lambda 还提供了多种功能，以帮助支持您的数据故障恢复能力和备份需求。
+ **版本控制** – 您可以在 Lambda 中使用版本控制，在开发时保存函数的代码和配置。与别名相配合，您可以使用版本控制来执行蓝/绿和滚动部署。有关详细信息，请参阅[管理 Lambda 函数版本](configuration-versions.md)。
+ **扩展** – 当您的函数在处理之前的请求时收到新的请求，Lambda 会启动另一个函数实例来处理增加的负载。Lambda 会弹性伸缩以处理每个区域 1000 个并发执行，[配额](gettingstarted-limits.md)可以根据需要增加。有关详细信息，请参阅[了解 Lambda 函数扩展](lambda-concurrency.md)。
+ **高可用性** – Lambda 会在多个可用区中运行您的函数，确保在单一区域中服务中断时能够处理事件。如果将函数配置为连接到账户中的 Virtual Private Cloud (VPC)，请在多个可用区中指定子网以确保高可用性。有关详细信息，请参阅[授予 Lambda 函数访问 Amazon VPC 中资源的权限](configuration-vpc.md)。
+ **预留并发** – 要确保您的函数能够始终扩展以处理更多请求，您可以为其预留并发。为函数设置预留并发可确保其能够扩展（但不超出）指定数量的并发调用。这可确保您不会因为其他函数使用了所有可用的并发而丢失请求。有关详细信息，请参阅[为函数配置预留并发](configuration-concurrency.md)。
+ **重试** – 对于异步调用和由其他服务触发的调用子集，Lambda 会在遇到错误时自动重试（每次重试有延迟）。同步调用函数的其他客户端和 AWS 服务 负责执行重试。有关详细信息，请参阅[了解 Lambda 中的重试行为](invocation-retries.md)。
+ **死信队列** – 对于异步调用，如果所有重试都失败，您可以配置 Lambda 向死信队列发送请求。死信队列是 Amazon SNS 主题或 Amazon SQS 队列，它会接收事件进行故障排除或重新处理。有关详细信息，请参阅[添加死信队列](invocation-async-retain-records.md#invocation-dlq)。